1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
7
7
7
7
7
7
7
6
5
4
3
2
2
2
2
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
6
7
7
8
8
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
14
16
17
17
18
18
18
18
18
18
18
18
18
18
17
17
17
16
16
16
16
16
16
15
15
15
14
14
14
14
13
13
13
13
12
12
12
12
12
11
10
10
10
10
10
9
9
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
12
12
13
13
13
13
13
12
12
12
11
11
10
10
10
10
9
9
9
9
9
9
8
8
8
8
8
8
8
7
7
7
7
6
6
6
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
5
5
5
5
6
6
6
6
7
7
8
8
9
9
9
9
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
10
10
10
9
8
7
7
6
5
5
5
5
5
4
4
4
3
3
3
3
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
3
3
4
4
4
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
8
8
8
8
9
9
9
9
9
9
10
10
10
10
11
11
11
11
12
13
13
16
16
17
19
19
21
21
22
23
23
24
26
28
29
30
31
36
38
39
39
39
39
39
39
40
41
41
41
41
41
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
38
38
38
37
37
25
24
23
23
22
17
5
4
4
4
4
4
4
3
1
1
1
2
2
2
2
2
2
2
2
6
7
7
8
9
9
9
8
7
5
5
5
5
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
8
9
9
9
10
10
10
10
9
8
8
7
7
7
7
5
4
4
7
7
8
9
10
10
10
11
11
11
11
11
11
11
11
11
11
12
14
14
14
14
14
14
15
15
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
19
18
14
14
13
13
13
13
13
13
13
13
12
11
11
9
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
12
12
12
13
13
13
13
13
13
13
13
13
14
15
15
15
15
15
15
15
15
15
15
15
17
17
18
18
19
19
19
19
19
19
19
19
19
20
21
21
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
21
21
18
15
15
14
14
14
13
13
13
13
12
12
12
12
12
12
11
11
11
10
7
8
13
18
22
26
28
30
32
35
36
39
40
41
42
42
42
42
42
42
42
42
41
40
39
39
38
37
37
36
36
35
34
34
34
34
33
33
33
33
33
32
32
31
31
31
30
25
24
24
24
24
23
23
23
23
23
23
22
22
22
21
21
21
21
21
20
20
19
19
19
19
19
18
18
18
16
16
15
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
9
8
6
4
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
3
3
3
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
5
6
6
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
11
12
12
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
15
15
15
15
17
17
18
19
20
20
21
21
22
22
23
23
23
24
24
24
24
25
25
25
25
25
25
25
25
25
25
26
26
27
27
27
28
29
29
30
30
31
32
32
33
33
34
34
34
34
34
35
35
35
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
36
35
35
35
34
34
34
34
33
33
33
33
33
32
32
32
24
22
20
20
18
18
18
17
17
17
17
16
16
16
13
12
11
11
10
9
9
8
8
8
8
8
8
6
7
8
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
14
14
14
14
15
15
15
15
15
14
14
14
14
13
13
13
13
13
13
12
12
12
11
11
11
11
11
11
11
9
9
9
9
9
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
11
11
11
11
12
13
13
13
13
14
14
14
14
15
15
16
16
16
16
17
17
17
18
18
18
18
19
19
19
20
21
21
22
22
22
23
23
23
23
24
26
26
30
31
32
34
34
35
36
37
42
42
43
49
50
51
54
55
55
56
57
58
59
60
62
62
63
64
64
65
65
66
71
72
73
74
76
78
79
82
83
85
88
89
90
91
92
94
99
101
102
105
106
107
109
111
112
113
115
116
117
121
123
128
129
131
135
137
139
140
141
145
150
151
154
158
166
167
170
172
173
180
182
186
187
188
189
190
192
194
195
199
200
202
203
205
208
212
213
214
217
219
221
222
222
223
223
225
226
228
230
233
236
238
240
241
243
245
246
247
251
252
253
255
259
260
263
266
268
272
276
277
279
280
282
283
287
289
295
296
297
299
300
301
302
302
304
307
317
319
321
322
313
312
310
307
306
301
296
291
290
289
288
288
287
286
286
284
282
281
281
279
278
276
275
274
273
270
269
267
266
260
257
253
246
238
230
224
223
220
217
212
210
208
205
205
204
201
199
197
195
194
191
185
183
182
180
178
177
174
172
170
168
165
161
149
142
132
123
114
87
80
75
71
70
68
63
60
59
53
47
42
31
28
27
27
25
24
24
23
23
23
23
23
22
22
21
21
21
20
20
20
20
20
20
19
19
19
19
19
18
18
18
17
17
16
16
16
15
14
13
13
12
12
12
11
11
10
9
8
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
8
8
9
9
9
10
10
10
10
11
12
12
13
14
14
14
16
16
16
17
17
17
18
18
19
26
29
30
31
33
38
38
40
42
44
49
56
60
61
63
66
69
71
73
74
76
78
79
80
81
82
83
83
84
92
95
99
100
102
104
106
107
107
107
107
107
107
106
106
106
106
106
106
105
105
105
104
102
102
102
101
101
100
100
99
98
98
97
97
97
96
96
95
95
95
94
94
94
94
93
93
93
93
93
92
92
92
92
92
91
91
91
91
91
90
89
89
89
89
88
87
87
87
87
86
85
78
75
71
69
65
62
58
56
56
56
56
56
56
56
56
56
56
57
57
57
57
58
58
58
58
59
59
59
59
59
60
60
60
60
60
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
61
61
61
61
61
61
61
61
61
61
61
61
61
60
60
60
60
60
60
59
59
59
59
59
59
58
58
58
58
57
56
56
56
55
55
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
55
56
56
56
57
58
61
61
62
62
62
63
63
64
64
65
65
66
66
67
67
68
68
69
69
70
70
72
73
73
74
75
76
77
78
79
80
80
82
83
84
86
87
88
89
90
90
91
92
93
94
94
95
96
97
99
100
101
103
105
106
106
107
108
110
112
113
114
115
116
116
116
117
118
118
119
119
120
120
120
121
121
121
121
121
122
122
122
123
123
123
122
121
120
119
119
118
118
118
116
115
115
114
113
112
111
109
108
108
108
107
107
107
107
106
105
104
104
104
104
105
106
106
106
107
107
108
108
108
110
110
110
111
111
111
113
113
113
114
114
114
114
115
115
115
115
116
116
116
118
118
118
118
118
118
118
118
118
118
118
118
118
118
120
120
124
124
125
126
126
126
126
126
127
127
128
126
123
121
121
121
121
120
119
117
116
115
115
114
116
116
117
120
120
120
121
126
127
128
131
132
132
132
134
135
135
138
138
139
141
142
143
144
148
149
155
155
160
167
171
173
175
178
199
203
206
210
212
214
217
218
219
220
224
227
230
230
232
235
237
238
238
239
240
240
241
243
246
246
247
247
249
249
250
251
252
253
254
254
255
255
255
256
257
258
259
260
261
261
268
269
269
270
271
273
274
274
275
276
276
277
277
278
279
279
280
281
282
283
284
284
287
290
291
296
297
298
298
302
303
303
304
305
307
309
311
313
314
315
317
318
319
320
322
323
325
325
326
327
329
331
333
334
334
335
336
336
341
342
344
345
347
348
349
349
350
350
353
355
355
357
359
361
362
363
364
365
366
367
370
373
374
374
375
377
377
376
375
374
373
372
370
367
366
365
365
362
361
358
357
357
356
354
352
351
348
347
345
343
343
338
336
333
333
332
332
331
330
327
327
324
323
322
320
320
319
315
314
313
310
309
305
304
303
302
301
300
299
297
296
293
291
291
290
289
288
285
284
282
281
281
279
278
277
275
274
272
270
269
266
261
259
258
256
254
250
247
246
243
242
240
236
235
234
233
232
230
229
228
226
224
223
222
221
217
212
210
207
200
199
198
197
195
194
193
192
190
186
183
182
180
173
171
168
166
164
161
159
158
157
156
154
153
153
147
146
144
143
142
142
139
135
126
123
123
122
120
119
117
113
112
112
112
111
110
110
109
108
107
107
106
106
105
104
103
102
102
101
100
100
99
99
98
97
93
90
90
90
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
77
75
74
74
73
71
70
70
69
69
69
68
68
68
68
68
68
67
66
66
66
66
66
66
66
66
66
67
67
67
68
68
68
69
69
69
69
69
70
72
72
75
76
77
78
79
80
81
81
82
83
84
86
87
88
88
89
90
92
93
95
96
97
98
100
101
101
103
103
104
104
104
104
105
105
105
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
108
108
108
108
108
108
106
106
106
105
105
105
104
104
104
102
101
100
99
99
98
97
96
95
95
93
91
91
90
90
89
89
88
88
88
88
86
79
77
75
73
71
63
63
58
55
51
44
43
42
41
41
40
38
37
37
36
34
31
27
27
26
26
26
26
26
26
25
23
20
18
18
14
12
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
8
8
8
8
8
7
7
6
6
6
5
5
5
4
4
3
3
3
3
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
12
12
12
11
11
11
11
11
10
10
10
9
9
9
9
9
9
9
8
8
8
8
7
7
7
6
4
7
8
8
8
9
11
11
12
14
14
16
17
18
18
19
22
22
23
23
15
14
14
14
13
12
10
9
9
8
8
8
7
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
5
5
6
6
7
7
7
7
7
7
7
7
7
6
6
5
5
5
5
4
4
4
3
3
3
3
3
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
5
5
6
7
7
7
7
8
8
9
9
9
10
10
11
11
12
12
12
13
13
14
14
15
15
15
15
16
16
16
17
18
18
18
19
19
21
21
21
21
22
22
23
23
23
23
24
24
24
25
26
26
26
26
26
26
27
28
29
29
29
29
29
28
26
24
23
22
21
21
20
20
19
18
18
17
16
15
14
14
14
15
15
15
16
16
16
17
17
18
18
18
18
18
19
19
19
25
26
27
28
28
30
30
31
31
33
34
34
35
35
36
37
38
38
39
39
40
40
40
45
45
46
47
48
50
50
51
51
52
54
55
55
55
54
54
54
53
53
52
51
51
51
50
50
49
48
48
48
47
46
43
43
43
43
42
37
37
36
35
34
33
31
30
29
28
28
27
26
25
24
24
24
23
22
21
21
21
20
20
20
19
19
19
18
18
17
17
15
13
11
11
11
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
7
7
7
6
6
6
6
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
5
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
10
11
11
11
12
12
12
13
13
12
8
7
6
5
5
3
2
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
9
16
18
18
21
22
22
23
23
24
24
26
28
28
32
33
33
35
36
37
41
40
39
36
29
28
27
23
22
21
20
20
19
18
16
15
15
14
13
13
12
12
12
12
11
9
9
8
7
7
7
7
8
8
8
8
8
11
12
13
14
15
17
17
17
17
17
18
18
18
19
23
24
25
25
26
27
30
31
31
31
32
32
32
32
32
32
33
33
36
37
39
40
43
44
46
54
58
72
75
92
103
108
110
115
116
117
119
121
122
127
129
130
131
133
134
135
137
139
148
147
144
144
143
143
142
141
141
141
140
139
138
138
137
136
135
134
133
132
131
131
131
130
130
129
129
127
126
126
125
125
125
123
122
122
124
125
125
127
128
129
130
131
132
132
133
133
134
134
135
136
136
136
137
137
138
139
139
140
141
142
142
143
144
145
145
147
147
148
148
149
149
151
152
152
153
153
155
155
156
156
157
157
157
156
155
148
146
144
143
142
141
138
136
133
131
130
127
126
122
117
115
113
111
110
107
106
104
102
98
97
96
95
94
91
90
87
86
84
83
82
79
79
78
77
77
76
75
71
69
68
67
66
65
64
63
62
59
58
58
57
55
49
45
44
43
42
41
40
36
35
34
34
32
28
27
26
24
23
20
19
18
18
15
14
13
8
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
5
6
9
10
12
13
16
23
24
27
34
35
43
44
47
51
52
53
51
51
51
50
50
49
47
46
46
46
45
44
44
43
42
39
35
35
34
32
31
29
27
24
22
18
16
15
11
11
10
10
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
5
6
9
22
23
24
25
36
37
38
41
48
49
50
51
54
55
55
55
56
56
57
57
57
58
58
59
59
60
61
61
61
61
61
62
62
63
64
64
65
70
72
73
73
73
74
74
74
74
75
75
75
76
76
77
78
78
79
79
79
78
77
75
74
74
73
71
71
70
69
69
68
66
66
65
63
63
62
60
59
59
58
55
54
54
53
52
50
49
49
48
47
45
44
42
41
38
35
33
31
24
21
20
10
9
8
7
6
5
6
6
7
9
9
10
10
11
12
18
20
24
27
30
30
31
33
37
38
38
39
41
41
42
43
47
49
55
56
57
57
58
59
60
61
61
62
63
63
64
66
66
67
67
68
69
73
75
77
78
78
80
81
82
82
83
84
85
87
87
88
89
90
90
95
95
96
96
97
97
97
97
98
102
110
116
118
121
125
125
127
130
133
133
134
145
149
150
164
169
173
175
187
189
194
199
204
204
204
205
205
205
205
206
206
207
207
207
207
208
209
209
209
208
207
207
206
206
206
204
203
202
201
201
201
200
199
199
198
198
198
198
198
198
197
196
196
195
194
194
193
192
191
191
190
189
188
187
186
186
185
185
185
184
183
183
182
181
180
180
180
180
181
181
181
181
181
182
182
182
182
183
183
183
184
185
184
184
183
180
180
179
176
175
174
173
169
168
167
162
161
160
159
144
139
138
138
137
136
136
134
134
132
131
131
130
130
130
128
129
129
130
134
135
135
136
136
136
138
138
138
138
138
136
136
136
135
135
135
135
135
135
135
134
132
132
132
132
132
132
131
131
131
128
128
128
128
127
127
127
127
118
118
118
118
118
118
117
117
113
112
112
112
112
112
112
112
110
109
108
108
108
110
110
110
110
110
110
110
110
110
111
112
113
114
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
114
103
103
103
101
100
100
100
100
96
96
93
93
93
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
88
88
88
89
89
89
90
91
91
91
92
92
92
92
92
92
92
92
93
93
93
93
94
94
94
94
95
95
95
95
95
96
96
96
96
96
96
95
95
94
94
94
93
81
77
77
76
76
76
75
75
73
72
72
72
72
71
71
69
69
69
69
68
68
67
66
66
65
64
64
63
62
62
57
55
54
54
54
54
54
54
54
54
54
54
54
53
53
51
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
48
48
48
47
44
43
43
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
40
40
40
40
39
39
39
39
38
38
38
37
35
25
25
24
23
23
22
6
4
3
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
9
9
9
9
9
9
13
13
14
14
14
14
14
15
16
17
17
18
19
20
22
22
23
26
26
28
28
29
29
29
29
30
30
30
30
30
31
31
32
32
32
32
32
32
32
32
32
32
31
31
31
31
31
31
30
30
30
30
30
30
29
29
29
29
29
29
29
28
28
28
28
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
24
24
23
23
23
23
22
21
21
21
19
17
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
21
21
21
23
32
32
33
36
37
38
39
40
40
42
43
44
45
46
47
48
49
51
53
54
55
55
55
56
57
57
57
58
58
58
58
58
58
58
59
59
60
60
60
61
61
61
62
62
63
63
65
66
68
68
68
69
69
70
71
72
73
73
73
73
74
74
74
74
74
75
75
75
75
75
75
76
76
76
76
77
77
78
78
78
78
77
77
76
76
76
76
76
76
75
74
73
73
73
72
72
72
72
72
72
71
71
71
71
71
71
71
71
71
70
70
70
70
70
69
67
67
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
71
74
74
75
75
76
79
80
81
85
86
87
88
89
90
91
91
92
92
93
94
94
94
95
95
95
96
97
97
98
98
100
101
101
103
103
103
103
103
103
103
102
102
102
101
101
101
101
100
100
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
99
100
100
100
100
100
100
100
100
100
100
100
100
100
100
101
102
102
102
102
102
102
103
103
104
104
104
104
106
106
107
108
109
109
109
110
110
110
111
111
111
113
113
117
117
117
118
118
118
118
119
119
120
120
120
120
120
120
125
126
127
133
135
136
136
136
137
138
140
142
145
147
149
151
152
155
155
157
159
161
161
160
159
158
157
156
155
155
153
153
152
152
151
151
150
149
148
147
147
144
143
142
142
142
143
143
145
145
146
146
147
147
147
147
147
147
147
148
148
148
149
149
152
152
154
155
155
155
157
158
159
161
161
162
162
162
165
165
165
166
166
169
171
173
176
177
178
181
182
186
190
191
192
194
196
197
198
199
200
201
203
204
205
208
208
209
210
210
212
212
212
212
213
214
215
216
216
217
217
218
218
219
219
219
221
221
222
222
223
223
224
224
225
226
227
228
228
229
229
229
230
230
232
234
239
243
243
244
244
244
246
247
247
247
248
249
249
250
251
252
252
252
253
253
254
255
257
257
257
258
259
261
263
263
264
264
266
266
266
267
268
269
272
273
274
275
276
277
277
278
280
282
282
283
284
285
285
287
289
290
290
291
291
291
292
294
295
296
296
297
298
299
299
300
300
302
303
305
306
306
315
315
315
315
315
315
315
315
315
315
314
314
314
314
314
313
313
312
312
312
312
312
312
312
312
312
312
312
311
311
310
309
308
307
307
306
306
306
305
304
304
304
304
303
303
302
302
302
301
300
298
298
298
297
296
295
294
293
293
292
292
291
290
290
289
287
286
285
285
284
284
281
281
281
281
279
279
279
278
276
275
274
272
272
271
270
270
270
273
273
276
278
278
279
281
282
283
283
284
286
289
292
292
293
295
297
297
300
302
302
303
304
305
305
306
310
310
312
314
316
316
318
319
319
320
321
322
323
325
326
327
327
331
332
335
337
338
339
340
340
340
344
345
347
347
348
350
351
352
353
353
354
355
356
360
363
365
366
368
370
371
372
374
375
376
384
385
387
388
389
391
392
393
394
395
397
398
399
400
402
403
406
406
409
410
411
412
413
417
418
419
421
422
423
425
427
429
430
431
432
433
435
439
441
443
443
446
446
447
448
448
449
450
451
454
455
456
457
459
463
464
467
468
469
470
471
471
471
471
471
471
471
471
471
471
471
472
472
472
472
472
472
472
472
472
472
472
472
473
473
473
473
473
473
473
473
473
473
473
473
474
474
474
474
474
474
474
474
474
474
475
476
482
483
483
485
486
486
487
491
491
492
493
494
495
496
496
496
498
499
500
500
501
502
503
503
504
507
507
508
509
511
512
512
514
515
515
516
517
518
518
519
520
521
521
522
522
523
524
524
525
525
526
526
527
527
528
529
533
538
540
545
547
548
550
556
557
559
562
568
570
578
581
584
594
597
598
600
601
602
602
605
607
607
609
610
611
612
613
614
614
615
615
616
617
617
618
619
619
619
620
621
622
622
623
623
624
624
625
626
627
627
627
627
627
627
627
627
627
628
628
628
628
628
628
628
628
632
637
641
643
645
645
647
650
652
656
660
663
664
667
669
681
684
690
694
696
710
712
715
717
719
726
726
726
726
726
726
726
725
725
725
726
726
726
719
718
718
718
718
717
717
717
716
714
713
713
714
716
717
721
722
723
725
726
728
730
732
735
737
739
740
743
756
760
759
759
758
757
757
757
757
757
757
757
756
756
755
755
753
753
753
756
756
759
761
761
763
764
764
765
766
767
769
770
773
774
775
773
771
770
768
767
765
763
761
759
755
753
751
748
745
742
742
742
742
741
741
740
739
738
738
738
737
737
735
734
733
728
727
727
727
726
725
725
724
722
722
721
720
719
716
714
714
713
713
712
711
710
708
708
707
706
705
703
701
699
698
695
691
693
693
695
696
699
702
702
704
706
707
708
709
711
714
715
716
718
723
724
726
730
731
732
733
738
739
741
743
746
748
748
753
754
755
755
756
758
759
760
760
762
763
764
767
768
769
770
770
770
771
771
772
772
772
773
774
775
776
778
784
790
790
792
793
793
793
794
794
795
795
796
796
796
796
797
797
797
797
798
798
798
799
801
803
811
813
817
818
818
818
818
818
817
817
817
817
817
817
817
817
817
817
817
817
818
818
819
819
820
821
821
822
823
824
826
827
829
830
832
833
843
844
846
848
848
851
853
854
854
863
870
872
875
878
882
883
885
887
897
899
900
906
907
908
909
911
912
913
914
916
921
923
924
925
925
928
928
929
929
930
931
931
931
932
933
934
934
935
936
936
937
937
938
951
954
955
957
960
964
966
968
971
975
977
980
983
986
988
991
993
1001
1008
1013
1027
1029
1031
1040
1043
1045
1047
1058
1060
1065
1069
1072
1076
1080
1083
1086
1088
1091
1093
1094
1097
1099
1101
1103
1105
1107
1108
1111
1113
1116
1117
1119
1121
1122
1125
1127
1129
1133
1135
1137
1138
1139
1142
1147
1147
1149
1150
1151
1153
1153
1154
1162
1163
1164
1165
1166
1167
1168
1174
1175
1179
1183
1184
1185
1186
1188
1189
1190
1193
1193
1193
1194
1194
1194
1194
1194
1195
1195
1195
1196
1196
1196
1198
1198
1198
1199
1199
1199
1199
1200
1200
1200
1201
1201
1201
1202
1202
1202
1203
1203
1204
1204
1204
1204
1204
1204
1204
1204
1203
1202
1202
1200
1200
1200
1200
1200
1200
1199
1198
1198
1198
1198
1185
1184
1179
1177
1167
1166
1164
1164
1164
1164
1163
1162
1161
1161
1159
1159
1156
1156
1155
1155
1154
1154
1154
1154
1154
1154
1154
1154
1155
1155
1155
1155
1155
1155
1156
1156
1157
1157
1157
1158
1158
1158
1159
1159
1159
1160
1161
1161
1162
1163
1163
1164
1165
1166
1167
1167
1167
1166
1166
1166
1166
1166
1166
1166
1166
1165
1165
1165
1165
1165
1165
1165
1165
1165
1164
1163
1163
1163
1163
1163
1162
1162
1161
1160
1160
1159
1159
1158
1157
1156
1155
1153
1153
1150
1146
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1142
1141
1140
1139
1139
1139
1138
1138
1138
1138
1138
1138
1138
1132
1132
1130
1130
1129
1126
1128
1128
1129
1129
1129
1129
1130
1130
1130
1130
1130
1130
1131
1131
1131
1131
1132
1132
1132
1131
1131
1131
1131
1131
1129
1127
1126
1125
1125
1122
1122
1121
1121
1120
1118
1118
1116
1115
1114
1113
1112
1112
1111
1111
1110
1109
1109
1109
1109
1108
1108
1108
1108
1107
1107
1106
1105
1104
1103
1091
1090
1089
1087
1083
1082
1081
1080
1077
1075
1074
1072
1071
1070
1069
1068
1067
1066
1065
1063
1049
1048
1025
1016
1006
1004
1004
1003
1001
998
996
992
985
982
981
970
968
967
955
955
954
954
951
948
935
935
935
934
934
933
933
933
933
932
932
932
932
921
916
913
912
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
911
910
910
909
909
909
909
909
908
908
907
907
907
907
907
906
905
904
904
904
904
902
902
901
901
903
903
904
904
904
904
905
905
905
906
907
907
908
938
940
944
947
963
957
947
942
939
938
935
934
932
931
931
928
926
925
923
921
919
910
906
903
895
885
882
881
882
882
885
888
889
891
892
893
893
894
895
897
898
899
900
901
902
903
904
907
908
910
911
913
916
917
919
923
926
930
932
933
937
939
943
945
947
949
950
952
953
958
960
963
968
974
974
975
980
982
983
984
985
986
986
989
989
990
990
991
991
992
995
995
996
997
997
1005
1006
1008
1016
1023
1024
1031
1033
1034
1037
1037
1039
1040
1043
1043
1043
1043
1043
1043
1043
1043
1044
1044
1044
1044
1044
1044
1044
1044
1045
1045
1045
1041
1039
1037
1034
1028
1025
1021
1014
1003
996
986
980
974
963
963
965
966
967
968
968
969
971
973
975
978
979
982
983
983
984
984
984
985
985
986
986
987
989
990
994
998
1000
1002
1004
1005
1007
1009
1009
1011
1012
1018
1022
1025
1027
1031
1032
1034
1036
1039
1043
1046
1049
1051
1052
1055
1056
1058
1065
1065
1072
1075
1082
1093
1097
1100
1103
1105
1112
1116
1120
1127
1130
1132
1139
1146
1149
1154
1159
1161
1164
1172
1176
1180
1191
1195
1198
1199
1201
1203
1204
1205
1206
1208
1210
1212
1213
1219
1221
1223
1225
1228
1230
1233
1236
1240
1241
1245
1247
1254
1256
1262
1270
1276
1278
1280
1281
1282
1285
1285
1286
1290
1283
1275
1274
1270
1269
1268
1265
1264
1263
1260
1259
1257
1256
1255
1254
1249
1248
1245
1244
1243
1241
1240
1235
1234
1233
1231
1230
1229
1228
1227
1226
1225
1224
1223
1222
1221
1220
1219
1218
1215
1214
1213
1212
1212
1212
1212
1212
1212
1212
1212
1212
1211
1211
1211
1211
1211
1211
1211
1210
1209
1209
1209
1209
1209
1208
1207
1207
1207
1207
1207
1207
1206
1206
1206
1206
1206
1205
1204
1203
1201
1199
1197
1196
1192
1190
1188
1187
1185
1182
1180
1179
1176
1173
1173
1171
1168
1167
1166
1165
1164
1162
1162
1159
1156
1154
1152
1150
1149
1145
1143
1141
1140
1138
1136
1135
1133
1132
1131
1129
1124
1124
1124
1121
1119
1114
1113
1112
1111
1110
1109
1107
1106
1104
1103
1103
1101
1101
1100
1098
1097
1096
1095
1093
1092
1091
1090
1086
1085
1084
1083
1082
1077
1077
1076
1076
1075
1075
1075
1074
1074
1074
1073
1073
1073
1072
1072
1071
1070
1069
1069
1069
1069
1068
1068
1067
1067
1067
1067
1067
1067
1067
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1064
1063
1062
1061
1060
1060
1058
1057
1055
1054
1053
1052
1051
1048
1046
1045
1044
1043
1042
1042
1037
1034
1031
1030
1029
1028
1027
1026
1025
1025
1023
1022
1021
1019
1015
1013
1009
1008
1003
1002
1001
1000
999
998
997
996
995
994
994
990
988
987
986
985
981
980
977
976
974
968
965
963
958
955
953
950
946
940
938
933
921
918
917
912
911
910
909
907
904
900
897
894
892
891
886
884
883
882
879
878
877
875
874
873
870
868
868
867
866
865
865
864
864
863
862
861
861
859
859
858
857
854
853
852
852
851
850
850
849
849
847
847
846
842
841
841
839
839
834
830
830
828
828
828
826
823
822
822
820
818
817
817
817
816
816
816
816
815
809
807
807
806
805
803
800
799
797
794
792
789
784
782
778
774
772
769
766
765
764
763
762
762
762
761
761
760
760
760
759
759
759
757
757
756
756
754
754
752
751
751
751
751
749
749
748
748
748
748
747
747
747
746
746
746
746
745
745
745
744
744
743
743
742
742
742
742
739
739
739
739
739
739
739
739
739
738
738
738
738
738
737
737
736
735
732
729
729
728
728
727
723
722
722
721
721
721
720
717
717
714
710
709
709
708
706
706
706
705
705
704
704
703
702
702
702
701
701
700
699
699
698
698
697
697
696
696
695
691
690
689
691
692
692
692
693
694
694
694
695
695
696
697
697
698
699
699
701
701
701
702
702
702
702
702
702
702
702
702
702
702
702
701
701
701
701
701
701
701
700
700
700
700
700
700
700
700
700
700
700
699
699
699
699
699
699
698
698
697
696
695
695
695
694
694
694
694
694
693
693
693
691
691
691
691
691
691
691
691
691
691
690
688
681
679
677
676
676
675
674
673
673
673
673
673
673
673
668
667
666
666
665
665
665
664
664
664
664
664
663
661
661
660
660
658
658
658
658
657
657
655
653
653
652
652
650
649
648
646
645
645
645
645
644
644
644
644
643
643
640
639
639
638
638
637
636
636
635
634
634
632
631
630
629
627
625
625
625
624
624
624
624
622
621
621
621
621
621
621
620
620
620
620
620
620
620
619
619
616
616
616
615
615
615
614
603
602
602
602
602
602
601
601
598
598
597
597
597
597
597
596
596
596
596
595
595
594
594
591
588
585
585
584
584
584
583
583
583
582
581
580
579
579
579
578
577
577
576
575
575
575
574
572
571
570
570
570
570
570
570
569
569
568
568
568
568
567
567
566
566
566
565
565
563
563
563
563
563
562
561
560
559
559
558
557
557
557
556
556
555
555
555
555
554
554
553
552
552
552
552
551
550
549
549
549
549
549
548
546
546
546
546
546
546
546
546
545
545
545
545
544
544
544
544
544
544
544
544
544
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
542
542
542
542
542
542
542
542
542
542
542
542
541
541
541
541
541
541
541
541
541
541
541
541
541
540
539
539
539
539
539
538
538
538
538
538
537
537
537
537
537
537
537
537
537
537
537
537
538
538
538
538
538
538
539
539
540
540
541
543
544
544
545
546
546
547
548
548
550
551
551
551
552
560
562
563
568
570
571
572
575
575
576
576
576
577
577
578
579
579
579
579
580
580
581
581
581
593
593
596
600
602
606
606
607
607
608
608
609
609
609
610
610
610
610
613
613
613
613
613
615
616
617
616
615
614
614
613
613
613
612
612
611
610
610
608
608
607
607
605
605
603
603
604
605
607
608
609
609
610
610
610
610
610
610
609
608
607
607
606
606
606
604
604
603
602
601
601
601
584
584
582
579
579
578
574
572
570
568
567
564
560
559
557
557
557
556
556
555
554
554
553
553
552
552
552
552
552
551
551
551
551
551
550
549
548
548
548
547
548
551
552
553
553
554
556
558
558
560
561
563
564
563
562
556
552
551
550
549
548
547
546
545
544
543
538
535
534
532
531
530
530
529
529
528
527
524
523
522
522
521
520
519
519
519
519
518
518
518
518
518
517
517
517
517
517
515
512
512
511
507
506
505
503
503
501
501
501
500
499
498
497
496
496
496
495
491
490
489
488
487
486
482
481
481
481
481
481
481
481
482
482
482
482
482
482
482
482
483
483
483
483
483
483
483
484
484
484
484
484
484
484
484
484
484
485
485
485
485
485
486
486
487
487
488
488
488
488
489
490
490
490
490
491
491
491
492
492
492
492
492
493
493
494
495
495
496
496
497
497
497
498
498
498
498
498
498
497
496
496
496
496
495
495
494
493
493
492
491
491
490
490
490
489
489
489
488
488
487
487
486
486
486
485
485
484
484
484
484
484
484
484
483
481
480
480
480
479
479
479
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
477
477
477
477
477
477
478
478
478
478
478
478
479
479
479
479
479
479
479
479
480
480
480
480
480
480
479
479
479
478
478
477
477
477
477
476
476
476
476
476
475
475
475
475
474
474
473
473
473
473
473
473
473
473
473
473
473
473
474
474
474
474
474
474
474
474
474
474
474
474
475
477
477
478
478
480
481
482
483
483
484
484
485
486
487
490
490
492
493
494
495
496
496
500
501
501
501
501
501
501
501
501
501
501
501
501
501
502
502
502
502
502
502
502
502
502
503
503
503
503
503
503
503
503
503
503
504
504
504
504
504
505
505
505
505
505
506
506
510
514
518
518
519
519
520
522
522
523
524
524
525
525
526
527
527
528
528
531
531
532
533
536
539
537
536
535
534
527
526
525
524
521
519
518
517
516
514
513
511
509
508
507
505
504
503
503
503
503
503
503
507
508
508
508
508
509
509
509
511
512
518
520
522
524
525
526
527
528
529
529
530
531
533
534
534
535
538
539
540
541
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
537
535
533
532
527
526
523
522
520
520
519
517
517
516
516
515
515
515
515
514
514
513
511
508
508
507
506
506
506
508
508
511
515
522
523
523
524
525
527
529
532
535
536
537
539
541
543
544
545
547
550
553
555
556
559
560
566
572
580
585
589
595
598
599
602
605
607
608
613
616
617
619
620
623
624
626
631
633
636
637
638
639
641
642
643
650
654
665
667
667
669
674
676
678
679
679
680
683
684
686
687
688
690
690
691
692
695
701
704
706
709
710
712
714
715
715
717
718
718
719
719
720
720
721
722
723
724
725
726
727
730
732
733
734
735
736
736
738
740
741
745
748
746
745
741
741
739
739
737
737
737
737
736
736
736
736
736
735
735
734
734
731
729
728
728
729
729
730
733
733
733
733
733
734
734
734
735
736
736
736
736
736
739
740
740
741
741
741
742
742
742
742
743
743
743
744
744
745
745
745
745
746
746
746
746
746
747
747
747
747
747
747
748
748
748
748
748
748
748
748
748
748
749
749
749
749
749
749
750
750
750
750
751
751
752
752
752
748
748
746
741
739
736
735
734
727
724
721
720
714
714
712
711
708
707
705
703
702
698
690
687
682
681
683
684
695
701
707
710
718
727
729
731
736
736
737
737
738
740
740
739
730
729
724
719
717
715
710
710
705
701
695
688
682
681
677
672
670
667
658
653
650
646
640
636
635
633
632
632
631
630
629
628
628
626
623
622
604
602
601
600
597
589
585
579
577
574
565
563
561
560
557
555
554
553
551
549
548
548
544
542
542
537
530
530
533
534
534
547
548
553
554
561
580
593
606
609
613
616
623
629
642
651
666
672
674
686
690
686
665
662
660
658
651
645
640
639
634
632
631
627
626
624
622
621
616
612
608
597
594
590
580
571
565
560
557
552
548
542
536
534
531
529
525
525
522
521
519
518
514
512
509
508
506
506
503
503
500
498
496
495
493
487
482
471
470
469
468
468
468
467
466
466
465
465
465
465
465
464
464
464
464
463
463
462
461
461
461
461
460
460
460
460
458
458
458
458
458
459
462
463
464
467
473
477
479
480
476
475
473
472
471
470
470
470
470
470
470
470
470
470
471
477
478
478
479
482
481
474
466
465
463
461
460
459
457
449
444
445
446
449
451
453
454
454
455
456
456
458
460
465
465
465
466
466
466
467
468
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
466
465
461
458
456
455
451
451
453
463
466
469
465
464
461
455
453
452
451
451
450
450
448
447
447
446
445
445
445
445
444
443
441
440
430
426
417
415
415
415
415
415
415
414
414
414
414
414
414
414
414
413
413
413
413
413
413
413
411
407
407
407
406
406
406
406
406
406
406
406
405
403
402
399
399
401
403
403
403
404
404
405
406
407
407
408
410
411
412
412
413
414
415
415
415
415
415
415
415
415
415
415
415
415
415
417
418
418
419
420
421
421
422
422
423
423
424
424
425
428
429
429
429
432
433
434
436
437
439
439
441
441
443
444
444
445
446
448
448
449
452
457
457
459
460
462
462
465
465
465
465
466
467
472
474
475
475
476
476
480
481
481
481
481
482
482
482
482
482
482
482
482
482
482
483
483
483
483
483
484
484
485
485
485
485
486
487
487
487
487
488
488
488
489
489
489
489
489
488
487
487
485
484
483
482
481
480
479
478
477
476
473
472
471
470
469
467
467
466
465
464
464
464
464
464
464
464
464
464
464
464
464
464
463
463
463
463
463
463
463
463
463
463
460
458
457
455
451
449
447
443
441
439
436
436
436
436
435
435
435
435
435
434
434
434
434
434
434
434
434
434
434
434
431
416
411
409
407
405
404
401
394
386
382
373
372
371
370
370
369
368
367
366
365
365
353
352
340
332
327
327
323
322
320
317
316
312
301
293
284
283
283
281
280
279
279
278
277
277
277
277
277
276
276
276
275
270
269
265
264
262
261
259
258
256
254
253
252
250
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
250
250
251
251
252
253
254
254
256
257
259
261
262
265
267
270
270
276
283
295
297
298
298
299
299
299
300
301
301
301
301
300
300
300
298
298
298
297
297
296
295
295
292
290
289
289
290
292
292
293
294
294
294
295
296
292
292
292
292
291
289
286
283
282
282
282
281
280
279
279
276
274
272
270
260
259
259
258
256
253
246
244
244
239
238
237
237
230
230
227
224
223
222
218
216
216
216
216
214
214
213
213
212
211
207
202
199
197
197
197
196
195
195
194
194
194
194
194
194
194
193
193
193
193
193
193
193
192
192
191
191
188
187
187
183
182
181
181
181
180
176
175
174
171
169
168
168
168
168
168
167
167
166
167
167
169
169
170
172
173
173
173
173
170
169
169
166
165
161
160
160
159
159
158
158
157
157
156
156
155
155
150
147
146
140
137
135
134
133
132
131
131
127
124
125
125
128
129
129
130
131
131
132
133
127
122
116
116
116
116
115
114
113
111
111
110
110
109
109
108
108
108
108
107
107
107
106
106
106
106
106
106
106
106
106
106
107
107
108
108
108
109
110
111
111
111
111
111
111
111
111
111
111
111
111
111
111
112
113
115
119
120
125
125
126
126
127
127
127
127
127
127
127
127
127
128
128
128
129
129
130
130
130
132
132
132
133
132
131
129
128
126
124
121
120
120
119
119
118
118
117
116
115
113
112
110
110
108
107
105
105
105
105
105
105
105
104
104
103
103
103
102
101
100
98
98
97
92
92
92
92
92
92
92
92
92
92
94
99
100
101
101
102
102
103
104
105
107
110
112
112
113
114
114
115
115
116
117
117
118
119
120
122
123
124
125
126
122
120
120
119
119
119
119
119
118
118
116
112
112
112
112
111
111
111
111
104
94
86
83
83
87
88
89
90
91
92
93
96
96
97
98
99
100
101
102
102
104
105
105
107
106
103
102
101
100
95
90
89
87
86
83
81
80
79
78
78
76
75
78
79
81
81
81
80
80
79
79
78
77
77
76
75
74
69
68
68
67
64
64
64
64
64
64
63
63
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
63
63
63
63
62
61
61
61
59
59
58
57
56
55
55
54
54
54
54
54
54
54
54
54
54
54
54
61
65
66
66
67
69
68
62
60
58
57
57
60
61
62
63
66
71
72
73
78
81
82
85
86
89
102
114
120
123
124
126
129
131
133
137
138
138
145
145
145
145
145
145
146
146
146
146
146
147
147
148
148
148
149
149
149
149
149
149
150
150
150
151
151
151
151
151
151
151
151
150
149
149
148
148
148
148
148
148
148
147
145
143
143
142
141
141
140
140
140
138
137
137
136
136
135
135
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
133
132
132
132
132
131
131
131
131
131
131
131
131
131
130
129
128
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
127
129
130
132
131
130
130
129
128
127
125
125
124
122
117
115
106
105
101
100
99
96
95
94
94
93
91
88
87
86
80
75
74
72
65
64
64
60
60
59
58
56
55
54
53
53
49
49
47
46
45
41
39
39
39
38
38
38
38
37
37
36
36
36
36
36
35
35
35
35
35
35
35
34
34
33
33
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
30
30
28
27
27
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
23
23
22
21
21
21
21
21
20
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
11
11
11
11
10
9
9
9
9
9
8
8
6
6
6
5
5
5
5
4
4
4
3
3
3
2
2
2
2
2
2
2
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
5
5
5
5
6
6
6
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
16
22
27
34
35
36
37
41
42
43
44
46
47
47
48
50
51
53
57
59
60
63
65
66
67
68
70
71
73
73
75
78
80
82
83
84
85
86
90
90
91
92
92
92
92
93
93
93
93
94
94
96
97
100
100
103
104
105
107
109
111
113
117
119
120
120
120
120
119
119
118
118
118
118
118
117
116
114
114
114
113
113
113
112
108
107
107
107
107
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
103
102
101
101
101
101
101
101
101
101
99
96
94
94
94
94
94
92
92
92
90
91
91
93
96
99
104
105
109
110
112
119
120
121
121
121
121
122
125
125
126
127
128
128
129
130
130
130
130
131
131
131
131
131
131
131
131
131
132
132
132
132
132
133
133
133
133
133
134
134
134
135
135
136
136
137
137
137
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
140
140
140
140
140
140
140
140
141
141
141
141
141
141
141
141
141
141
141
141
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
145
149
149
149
149
149
149
149
149
148
148
148
147
147
147
146
145
145
145
145
145
145
144
144
144
144
143
142
141
141
141
141
138
131
129
127
122
113
108
103
99
88
82
77
68
59
57
50
49
41
36
35
35
35
34
34
32
31
31
30
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
35
36
37
38
39
40
42
44
49
49
50
51
52
53
56
59
60
60
60
60
65
77
85
86
87
91
97
99
100
100
102
105
105
110
112
113
116
114
105
104
93
88
86
86
92
92
93
100
102
103
112
126
141
142
143
154
154
155
155
155
158
160
160
162
162
163
163
164
164
165
166
168
170
170
172
172
172
172
172
172
172
172
172
171
170
170
170
169
167
156
155
155
155
153
152
152
151
150
150
149
149
148
146
145
143
141
132
131
130
129
128
127
117
115
113
110
97
99
95
95
94
94
92
91
91
91
90
90
90
89
89
89
88
88
88
87
87
86
86
85
85
85
85
85
85
85
84
84
83
83
83
83
83
83
83
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
78
74
69
69
68
67
67
66
66
65
65
64
61
55
46
38
35
31
28
26
29
30
37
38
38
38
39
38
38
37
36
34
34
32
31
31
30
30
29
28
25
24
23
23
21
20
19
18
18
18
18
18
18
18
18
19
19
20
20
20
19
18
17
17
16
16
20
21
20
20
20
20
19
19
19
19
19
19
19
19
18
18
18
18
18
13
12
11
8
9
9
10
14
15
7
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
6
6
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
11
11
12
10
10
9
9
9
8
7
7
7
7
7
6
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
16
16
16
16
16
16
16
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
13
12
12
12
12
11
10
10
10
9
9
8
7
6
5
5
4
4
3
3
3
2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
4
6
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
7
7
7
6
5
5
5
5
6
6
6
6
6
7
7
7
8
8
9
10
10
10
12
12
13
13
14
14
15
17
19
20
22
24
28
30
33
37
43
45
46
46
47
48
49
50
51
51
52
53
54
56
56
56
57
57
57
58
59
59
60
60
61
62
62
63
63
63
62
62
62
61
59
59
59
57
56
54
54
54
54
53
53
52
51
50
49
49
49
47
46
46
45
45
43
43
42
41
40
39
38
38
37
36
35
35
34
34
34
34
34
34
34
33
33
33
33
33
33
33
33
33
32
31
29
29
28
26
24
24
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
23
17
15
10
9
8
9
10
11
11
12
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
17
18
19
19
20
26
28
29
30
28
24
20
20
20
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
18
20
26
27
28
29
33
34
36
38
40
42
44
47
49
49
50
52
53
53
53
54
54
55
56
55
54
52
52
51
51
50
49
48
48
43
42
40
39
35
32
31
28
12
10
10
9
9
8
8
8
7
7
7
7
7
7
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
3
3
3
3
3
3
3
4
5
5
7
7
8
8
9
9
9
9
8
8
7
7
7
7
7
7
7
7
7
6
6
6
6
5
5
5
5
5
5
5
4
3
3
3
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
3
3
4
4
5
5
7
8
8
8
8
8
8
8
8
8
7
7
6
5
4
4
4
4
3
3
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
4
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
14
14
14
14
14
14
14
12
11
11
11
10
10
10
10
10
10
9
9
9
8
7
7
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
4
4
4
4
4
4
3
8
9
9
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
12
12
13
13
13
13
14
14
14
15
15
15
16
16
17
17
18
19
20
20
20
22
23
23
23
23
24
24
23
23
22
22
21
20
20
20
20
20
20
19
19
19
19
19
21
21
22
22
22
23
24
24
24
24
25
25
25
26
26
26
27
27
27
28
28
30
31
31
34
35
39
40
40
40
39
39
38
38
37
37
37
36
36
36
35
35
30
30
27
27
27
27
26
26
26
24
23
23
22
21
20
19
18
18
17
16
16
15
15
15
13
13
13
13
13
12
12
12
11
11
11
11
11
11
10
10
10
10
9
9
9
8
8
7
7
7
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
15
15
15
16
17
18
18
18
18
19
20
21
21
21
22
22
22
23
23
23
24
24
25
25
26
27
28
29
30
30
30
31
31
31
31
31
32
34
35
35
35
35
35
36
36
36
36
36
37
37
37
38
38
39
39
40
42
43
44
44
45
45
46
46
47
47
48
49
49
49
50
50
51
52
52
52
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
53
52
52
52
52
52
51
51
51
50
50
50
50
50
49
49
49
49
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
50
50
50
50
50
49
48
48
47
46
46
46
46
45
44
44
44
43
43
42
42
42
41
41
41
41
42
42
43
43
44
45
45
46
46
46
47
48
49
49
49
49
49
49
49
49
48
48
48
48
48
48
48
48
47
47
46
46
46
46
46
45
45
45
44
44
44
44
44
44
44
44
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
41
41
41
41
40
40
39
39
39
38
38
38
38
38
38
37
37
37
37
37
37
36
36
35
34
33
32
32
31
30
28
26
23
23
22
22
21
19
18
17
17
17
17
18
18
18
18
18
19
19
19
20
20
20
20
20
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
26
26
27
27
27
27
27
27
27
27
25
23
21
21
21
20
19
18
17
14
14
14
11
11
11
11
11
10
10
8
8
8
8
8
8
8
9
10
10
10
10
10
11
11
11
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
20
21
22
22
11
11
11
11
10
10
10
10
8
6
5
4
4
4
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
4
4
5
6
7
8
8
9
10
10
11
11
12
12
12
13
13
13
17
19
20
21
21
21
22
22
22
23
24
26
26
26
26
27
28
28
28
28
28
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
27
27
27
27
27
28
28
29
30
31
31
32
32
32
33
33
33
34
35
36
36
37
37
37
38
39
40
42
43
43
43
41
39
39
38
37
35
34
26
24
21
21
21
21
22
22
22
22
22
23
23
24
25
27
28
28
30
30
31
33
35
36
36
36
36
37
38
39
41
41
41
41
41
41
41
42
43
44
45
45
45
45
45
45
45
45
45
45
44
44
44
44
43
43
41
41
41
41
41
41
39
36
33
33
32
32
32
32
31
31
31
31
30
29
28
28
27
27
26
26
26
25
25
25
25
25
24
24
23
23
22
22
22
20
20
20
20
20
20
19
19
19
19
18
18
17
17
16
15
15
14
14
14
14
14
14
14
14
14
13
13
13
13
13
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
17
18
19
20
21
22
22
24
24
25
26
26
26
26
26
26
25
23
22
22
22
22
22
22
21
21
20
20
19
19
19
19
18
18
18
18
16
16
16
16
15
14
13
13
13
12
12
11
11
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
17
18
19
19
20
20
21
21
21
21
21
21
22
22
22
23
24
25
26
28
28
28
28
28
28
28
29
30
30
30
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
28
28
28
28
28
28
28
28
28
27
27
27
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
24
24
24
24
23
23
23
23
23
23
23
23
23
22
22
22
22
22
22
21
20
20
20
20
20
20
19
19
21
24
24
27
28
28
29
32
34
37
38
43
44
47
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
53
54
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
55
55
54
54
53
53
53
53
53
53
52
52
52
52
52
52
51
51
51
50
50
50
50
50
49
49
49
48
48
48
48
48
48
48
47
47
47
47
47
46
46
46
46
46
46
46
46
45
45
45
44
44
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
45
45
45
45
48
49
50
50
50
50
50
50
50
50
52
52
53
53
54
54
54
54
54
54
55
55
55
55
55
55
55
54
54
54
54
53
53
53
53
53
53
52
52
52
52
52
52
52
52
51
51
51
51
50
50
50
50
50
49
49
49
49
49
48
48
48
48
48
47
47
46
46
45
44
44
43
42
42
42
42
42
41
39
38
38
38
36
36
36
35
29
28
27
26
26
25
25
24
23
23
22
21
21
19
19
15
15
14
14
13
13
12
12
10
10
10
10
10
10
10
11
11
12
13
13
13
17
17
17
17
18
18
18
19
21
21
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
22
22
22
21
20
20
20
20
20
20
19
19
19
18
18
18
17
16
16
16
16
16
16
15
15
15
15
14
14
13
13
12
12
12
11
10
10
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
11
11
11
11
11
10
10
10
10
9
8
8
8
8
7
6
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
8
8
8
8
8
8
8
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
13
14
14
15
15
15
15
15
16
16
16
17
20
20
20
20
20
20
22
24
24
24
24
24
25
26
26
28
29
31
31
31
32
32
32
33
34
34
36
42
44
45
47
49
56
57
65
65
65
67
68
69
70
70
72
72
72
73
74
73
73
72
71
71
71
71
70
69
69
68
66
65
64
63
62
61
60
59
59
59
58
57
56
56
56
57
58
59
59
60
63
64
67
67
70
71
72
74
75
78
80
80
81
82
80
80
79
78
76
75
72
69
65
64
64
64
62
62
60
60
58
56
56
55
53
52
51
51
48
48
47
47
46
45
44
44
43
43
43
43
43
42
42
42
41
41
41
41
40
40
39
38
37
37
37
37
38
38
39
39
39
39
39
39
39
39
40
40
41
41
41
41
41
41
41
42
42
42
42
42
43
44
44
45
45
45
45
45
45
45
46
46
46
46
45
45
44
43
42
42
42
42
42
42
42
42
42
42
41
41
41
41
40
39
39
38
38
38
38
37
37
36
35
35
33
33
32
32
32
31
31
31
31
31
31
31
31
30
30
29
28
28
28
27
26
26
25
24
24
23
23
22
22
21
21
21
21
20
20
20
19
19
19
19
19
18
18
18
17
17
16
16
16
15
14
14
13
12
11
11
10
10
9
9
9
8
8
8
8
8
8
8
7
7
7
7
7
6
6
6
6
6
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
7
7
8
8
9
10
10
10
10
10
12
12
12
12
12
13
13
13
13
17
19
20
20
20
20
22
23
23
23
23
23
24
24
25
27
27
29
29
29
29
29
29
29
29
30
30
30
30
31
31
31
32
32
32
32
33
34
34
34
34
34
34
34
36
36
36
36
37
37
37
37
37
37
38
39
39
39
40
41
41
41
39
39
38
37
36
35
33
32
32
31
30
25
24
23
23
21
20
15
14
13
13
12
11
10
9
8
7
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
3
3
5
5
7
13
13
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
12
11
11
11
8
8
7
7
7
7
7
7
7
6
6
6
5
5
4
4
4
3
3
2
2
2
2
2
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
4
5
6
7
9
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
13
13
14
14
15
15
15
16
16
17
18
18
19
19
19
20
20
20
20
21
22
23
23
24
25
26
26
27
27
28
30
32
32
33
34
34
35
36
38
39
39
40
41
42
42
42
43
43
44
44
44
44
44
43
42
42
42
41
41
41
39
39
38
38
38
37
37
37
37
36
36
36
35
33
32
32
31
31
30
29
29
27
26
25
24
24
22
21
20
20
18
16
15
14
13
12
11
8
8
7
6
6
6
6
6
5
5
3
1
1
1
2
2
2
3
4
6
7
7
8
8
9
10
10
12
13
15
15
16
17
17
18
19
19
19
20
21
21
22
23
24
24
25
26
26
28
29
29
30
30
31
31
32
33
33
34
35
35
36
37
40
40
40
41
41
41
41
46
47
47
47
47
47
47
47
47
46
46
45
45
45
44
44
43
43
42
42
42
41
41
40
39
39
39
38
38
38
38
38
38
38
38
38
36
35
34
34
34
34
35
36
36
37
37
37
38
39
39
45
46
47
48
51
51
54
55
59
60
61
62
64
65
67
67
65
62
60
56
56
55
55
55
55
54
53
51
50
46
44
43
42
41
40
37
35
32
31
29
28
28
26
25
25
25
26
27
28
29
30
30
32
32
33
33
35
36
37
40
41
41
41
42
44
44
45
45
48
50
51
53
53
55
56
56
58
61
63
66
68
69
69
69
70
70
70
71
72
72
72
70
69
69
66
62
61
57
50
49
47
42
41
38
36
36
36
35
34
33
32
32
34
36
37
39
40
40
41
41
42
43
43
43
43
45
45
45
45
45
45
45
44
44
43
43
43
42
41
38
36
36
36
34
32
31
30
30
28
27
25
24
24
22
21
20
20
18
17
16
15
14
14
13
11
10
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
10
11
11
12
13
13
13
15
17
17
18
19
20
20
21
22
22
23
24
24
24
26
27
27
29
29
29
31
33
33
37
41
42
43
43
43
42
42
42
42
42
42
41
41
41
41
41
41
41
41
36
36
36
36
35
34
34
35
35
40
40
41
41
41
41
41
41
41
41
41
42
42
42
42
42
43
44
45
46
47
48
48
49
49
50
52
55
56
59
59
61
62
63
66
67
67
68
69
70
70
73
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
78
78
78
78
78
78
79
79
79
79
80
80
80
80
81
81
81
81
81
81
82
82
82
82
83
83
83
83
84
84
85
86
86
87
87
88
88
90
93
94
95
98
99
100
101
101
102
102
103
104
104
104
105
105
106
106
107
107
108
110
110
113
116
116
121
122
122
122
123
124
125
125
126
126
129
132
133
133
133
133
133
133
133
133
127
123
122
120
119
117
116
113
112
112
108
108
107
105
105
104
104
103
103
96
95
95
92
92
91
89
87
85
84
79
78
77
77
73
72
71
67
67
66
62
61
50
49
47
44
43
43
37
37
36
22
20
18
17
17
16
16
16
15
15
15
15
15
14
14
13
13
13
13
13
13
11
10
11
11
11
12
12
12
14
15
16
16
17
17
17
18
18
18
19
19
20
20
20
22
23
24
25
27
28
28
29
29
30
30
31
32
32
33
34
36
42
46
46
47
49
50
50
50
51
52
52
53
53
54
54
56
57
57
58
61
62
62
62
63
65
68
69
71
72
74
76
77
77
78
79
80
82
82
84
85
86
87
88
89
91
92
93
95
96
97
101
101
101
102
103
103
106
107
108
108
109
110
111
113
114
115
117
119
120
121
122
123
124
124
126
127
128
129
132
134
135
135
136
136
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
141
141
142
142
143
144
144
145
145
146
146
146
147
147
147
147
148
148
148
149
149
150
152
153
153
157
157
156
155
155
155
154
153
152
148
147
147
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
143
142
141
139
138
134
132
130
129
115
114
114
114
114
114
115
115
116
116
116
114
114
114
113
113
113
110
110
110
108
106
104
103
100
99
98
98
98
98
98
98
98
97
97
97
92
91
89
89
89
88
89
90
91
91
93
93
94
98
98
98
100
101
109
109
110
110
110
110
110
110
110
111
111
111
111
112
114
117
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
123
123
123
124
126
126
128
129
130
130
132
132
132
132
131
129
128
128
127
127
127
127
126
126
125
125
124
123
123
122
122
121
120
113
95
90
84
80
68
63
61
59
58
57
53
51
45
42
35
33
32
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
29
29
29
29
28
28
28
28
27
27
27
27
26
25
25
22
21
21
21
21
21
21
21
20
20
20
20
19
19
19
20
21
21
22
22
22
22
23
23
24
24
25
25
25
25
26
26
26
27
27
28
28
28
28
28
29
29
30
30
31
31
32
32
32
32
32
33
33
34
42
45
45
48
49
49
50
55
57
58
60
67
69
71
71
71
72
73
74
74
75
75
75
75
75
75
77
77
77
77
79
81
84
85
87
90
90
94
94
95
95
96
96
98
99
106
108
110
111
113
113
116
119
120
121
125
126
126
126
126
126
127
127
128
128
128
129
129
130
130
130
131
131
131
131
131
126
126
125
125
125
125
124
123
123
122
121
120
118
117
116
114
114
113
113
113
112
111
110
110
109
109
109
108
107
107
106
105
105
105
102
102
99
80
78
74
72
65
62
58
55
53
51
49
45
43
33
30
27
24
22
19
17
14
13
12
12
12
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
17
17
17
17
17
18
18
18
18
18
18
20
20
21
21
22
23
23
24
25
25
26
27
27
29
29
29
30
31
31
32
32
32
33
39
40
43
46
47
47
49
49
50
50
51
52
52
53
53
54
54
55
56
59
60
61
64
66
67
71
72
74
73
72
72
69
68
63
60
59
59
60
60
63
63
65
69
69
70
70
71
71
74
73
72
70
70
70
70
70
70
68
59
58
58
56
56
54
54
53
53
52
44
43
42
41
37
35
34
33
28
28
28
27
26
26
26
27
27
28
29
30
31
31
32
33
33
34
34
36
36
37
39
39
41
42
43
44
45
46
46
46
49
49
50
51
51
51
52
52
53
53
56
59
59
58
58
57
54
52
50
47
46
46
45
45
45
44
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
44
42
40
40
41
43
48
49
58
59
59
59
59
60
65
65
65
65
62
61
61
61
60
60
59
58
58
58
57
57
57
56
56
56
56
54
53
53
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
52
58
59
59
59
59
59
58
57
57
56
55
54
54
54
54
47
45
44
42
41
40
40
39
36
28
25
25
26
26
27
27
27
27
27
27
29
29
29
29
29
30
30
30
31
31
32
37
37
39
41
43
43
44
46
47
50
50
50
51
51
52
52
52
52
52
52
52
52
52
49
53
54
54
55
55
55
56
56
58
48
43
40
35
31
29
32
34
36
45
45
48
48
49
50
50
50
50
50
51
52
52
52
54
55
55
56
57
58
60
61
64
65
66
69
72
72
73
73
73
73
72
72
72
72
69
67
66
66
63
63
62
61
61
61
61
59
59
55
55
55
56
60
60
60
61
62
63
66
66
66
66
66
65
65
64
63
63
63
63
64
64
65
66
66
66
66
66
66
66
66
66
66
59
59
59
58
57
57
57
57
57
57
57
57
57
57
57
57
50
49
49
29
27
25
25
24
22
21
21
21
21
16
16
16
16
15
15
14
14
13
13
14
14
15
15
15
15
16
16
16
17
17
18
22
22
24
26
25
25
24
23
23
23
21
21
21
21
20
20
20
20
19
19
19
18
18
17
16
15
15
14
13
13
13
12
12
11
11
10
10
8
8
8
7
7
7
7
6
6
6
6
6
6
6
7
7
8
8
8
11
12
12
13
13
13
14
14
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
16
22
23
23
24
24
25
25
26
33
33
34
34
34
34
34
34
34
34
35
38
41
51
52
53
53
54
56
59
60
64
75
92
88
87
87
86
85
84
83
82
80
78
78
76
74
71
70
69
69
68
65
65
63
63
62
61
61
58
55
53
49
48
48
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
43
43
41
40
40
40
39
37
35
34
33
33
33
33
33
33
33
33
33
32
31
29
29
29
28
27
27
28
28
28
28
29
31
31
33
33
33
34
35
36
36
36
36
37
37
37
37
37
38
38
38
39
39
39
39
40
40
41
41
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
46
51
57
58
58
59
59
59
62
63
63
63
64
64
64
65
66
71
72
72
72
73
74
75
87
86
83
82
82
82
82
79
78
75
74
74
74
74
73
72
71
60
60
60
59
58
58
56
56
56
55
51
47
46
46
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
40
40
40
40
40
40
40
40
39
39
43
46
47
47
51
51
51
52
52
52
53
53
52
50
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
48
48
49
49
50
51
52
53
53
54
54
54
54
54
55
55
55
56
56
56
56
56
57
57
58
58
58
63
64
65
67
69
73
76
80
85
85
85
85
84
84
83
82
82
82
82
82
82
82
82
82
82
82
81
81
81
81
79
79
79
79
79
79
78
78
78
78
77
60
52
51
51
51
50
50
50
50
50
49
48
44
43
42
41
40
39
37
36
36
33
31
30
29
28
29
31
32
34
35
36
37
39
40
40
41
42
43
44
45
45
46
47
47
48
48
48
48
47
47
47
46
45
45
44
43
42
42
41
38
37
35
34
34
33
32
30
29
29
30
30
36
37
48
47
47
38
38
38
38
39
39
39
39
40
40
40
42
42
42
42
43
44
43
42
41
41
39
39
39
42
45
46
49
52
53
54
59
60
61
35
34
34
33
32
30
29
29
26
26
25
25
24
23
23
25
36
38
39
44
46
48
49
50
54
56
61
63
64
64
66
67
68
68
66
64
62
59
56
57
59
62
65
66
67
68
69
72
74
74
71
66
64
62
63
64
69
70
69
67
66
65
63
64
64
64
64
64
60
60
59
56
55
50
38
32
31
30
28
22
22
22
22
22
22
22
22
22
22
22
22
22
22
21
21
21
20
20
20
19
18
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
18
19
20
16
9
9
8
8
7
7
7
7
7
6
6
6
6
6
6
8
10
11
11
12
13
13
13
13
14
14
14
14
14
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
19
20
21
22
21
21
20
20
13
10
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
10
10
10
11
12
12
12
12
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
11
11
11
10
10
10
10
9
9
9
9
9
9
9
9
8
8
8
8
7
6
4
3
3
3
1
0
0
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
11
15
22
23
27
29
33
33
34
35
36
36
37
37
39
41
43
44
45
48
49
50
51
52
52
51
50
49
49
49
49
48
47
47
46
46
43
42
42
40
40
40
39
37
37
36
36
35
35
34
34
34
33
32
32
32
31
31
30
30
29
28
28
28
27
27
26
26
26
26
25
25
25
22
22
20
20
20
22
23
25
26
26
27
27
28
30
32
34
34
35
38
41
43
43
45
47
48
48
49
49
50
51
51
52
53
53
54
56
57
58
59
60
60
60
61
61
62
62
63
63
64
65
68
72
72
74
74
74
80
81
75
73
72
67
65
64
57
55
53
51
49
48
47
46
42
42
43
46
46
46
47
47
47
47
48
48
49
51
53
55
59
64
65
75
77
85
86
94
96
97
99
102
105
108
109
114
118
120
123
124
136
137
139
142
143
147
148
148
145
138
137
134
132
130
128
127
126
126
125
123
123
122
118
117
117
116
115
115
108
107
105
104
103
103
103
102
102
102
102
101
98
96
93
92
90
88
86
83
82
78
75
75
75
70
69
67
67
67
66
66
66
65
65
64
58
55
51
46
44
39
37
35
34
33
32
31
31
31
29
29
29
29
29
29
29
29
28
27
27
26
26
24
23
22
21
20
19
18
17
16
16
14
14
14
12
11
10
10
9
9
7
7
7
7
7
7
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
7
7
8
8
9
10
11
12
13
13
13
14
14
14
16
17
17
18
19
21
22
22
22
23
23
23
28
31
31
28
26
23
18
15
14
13
13
12
11
10
9
9
8
10
12
12
13
13
14
14
17
18
19
19
23
23
26
26
27
28
29
29
29
29
28
28
28
28
28
28
21
21
21
21
21
20
19
17
16
15
15
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
17
17
18
21
21
22
27
29
30
32
35
39
41
43
43
43
47
50
51
54
54
46
45
41
40
37
36
35
30
23
22
19
15
13
13
12
12
11
11
11
11
11
9
9
9
9
9
9
8
6
5
5
4
3
3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
34
35
37
37
38
39
41
41
43
43
44
45
45
45
45
47
49
49
60
61
64
64
67
68
70
70