29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
27
27
26
26
25
25
24
24
22
21
20
19
18
17
16
15
15
16
18
19
21
22
24
25
27
28
30
31
32
33
34
35
36
37
37
38
39
40
41
42
44
45
41
39
38
37
37
37
38
38
39
39
39
39
38
37
37
36
35
32
30
28
26
23
21
20
19
18
16
15
13
10
8
8
7
7
7
6
6
5
5
4
3
2
2
1
1
1
2
3
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
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
8
8
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
10
10
10
10
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
7
7
8
8
9
11
12
13
14
15
16
16
17
18
18
18
16
14
13
11
10
8
8
8
8
8
8
8
8
8
8
7
6
6
6
6
6
6
6
6
7
8
9
10
10
12
13
13
13
14
14
14
14
14
13
13
12
12
12
12
12
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
13
14
16
17
17
19
20
20
20
20
20
20
21
22
23
24
25
25
25
25
24
24
23
23
23
23
24
24
24
24
24
23
23
22
22
21
20
19
17
16
16
17
17
18
19
20
21
21
21
20
20
19
19
19
19
19
19
19
19
19
19
20
20
21
21
22
23
23
24
25
25
25
25
24
24
23
23
22
21
20
20
19
18
18
17
16
16
15
15
16
16
17
18
18
19
20
21
22
23
23
23
23
23
22
22
22
22
22
22
23
23
23
23
23
23
23
23
22
22
21
20
20
19
19
19
19
19
19
19
19
19
19
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
23
23
23
23
23
23
23
23
23
23
22
22
22
21
21
21
22
22
23
24
24
23
22
21
19
19
19
19
20
20
21
21
21
21
21
21
22
23
24
25
25
24
23
22
21
20
20
20
21
21
22
22
22
21
21
21
20
20
20
20
21
21
22
22
22
21
19
18
17
16
15
15
18
20
22
23
24
23
22
21
20
19
20
21
23
24
25
25
23
22
21
20
22
23
24
25
25
26
26
27
27
27
27
27
26
26
26
26
26
26
26
26
26
27
27
28
29
29
29
28
28
27
27
26
25
24
23
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
24
25
25
26
26
26
27
27
27
26
25
23
22
21
20
19
19
18
17
17
17
19
22
24
24
25
26
26
25
24
24
23
22
21
20
20
20
19
19
19
19
19
20
20
20
20
20
20
19
19
19
20
20
21
22
23
23
23
23
23
23
23
23
23
24
25
25
26
27
28
28
28
27
26
25
25
24
23
23
23
24
25
26
26
26
25
24
24
24
24
24
24
24
24
24
24
23
22
22
21
21
22
23
25
26
26
25
24
22
22
25
28
31
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
33
31
29
28
29
30
32
34
34
35
35
34
31
28
25
25
28
31
34
37
40
43
47
52
56
52
45
38
31
32
33
35
36
37
34
28
24
23
25
26
27
28
28
28
28
27
26
25
24
23
23
24
24
25
26
27
28
28
28
28
28
28
28
29
29
30
31
32
33
34
33
32
31
30
30
30
30
30
30
30
30
30
30
31
35
38
41
45
46
46
45
45
45
45
45
45
48
51
54
52
50
46
41
36
33
31
30
30
31
31
31
30
29
29
30
31
31
33
34
35
36
36
36
36
36
36
36
36
37
37
37
37
37
36
36
36
35
35
35
35
35
36
37
37
37
36
36
36
36
36
37
38
40
42
42
42
42
43
43
43
43
43
43
42
41
41
40
40
41
41
42
42
43
43
44
44
45
45
45
46
46
47
47
47
47
48
49
50
52
53
54
54
53
52
52
52
52
53
53
54
54
54
54
53
52
52
51
50
50
49
49
49
49
50
51
51
52
53
54
54
54
54
54
55
55
55
55
55
54
54
55
56
58
60
62
63
63
63
63
63
61
60
59
57
56
55
55
54
56
59
62
66
68
71
74
77
78
75
73
70
67
64
62
59
57
55
57
58
60
61
62
62
63
63
64
64
65
65
66
66
67
67
68
69
70
71
73
74
75
76
77
78
79
80
80
80
79
78
77
77
76
76
62
61
64
70
72
70
68
66
64
61
58
55
55
54
54
55
60
64
68
71
74
77
79
81
82
83
84
86
87
89
91
92
93
95
96
97
99
100
101
99
98
97
96
96
95
94
93
93
93
92
92
92
92
91
91
90
90
89
88
88
88
88
88
88
88
88
88
88
88
89
89
90
91
91
92
92
90
89
88
87
85
84
84
86
87
88
90
91
93
94
94
94
94
94
94
94
94
94
97
99
101
103
105
107
108
109
109
110
110
111
111
111
110
108
107
105
104
103
102
101
99
98
98
97
97
97
97
97
97
97
97
99
102
105
107
110
113
115
118
119
119
119
119
119
118
117
117
116
115
112
109
106
103
101
102
103
104
105
106
108
111
113
116
118
121
122
122
122
122
122
122
122
122
122
123
123
124
124
124
126
128
129
131
132
133
136
137
137
136
134
133
133
132
131
129
129
129
128
128
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
127
128
129
130
131
132
133
134
135
137
137
136
136
135
134
133
132
132
133
134
135
136
137
136
135
133
132
130
128
129
131
133
136
138
141
142
141
141
140
139
138
138
139
141
142
144
145
146
147
147
147
147
147
147
147
145
144
143
142
141
140
139
139
139
139
140
140
140
140
140
140
140
140
139
139
139
138
138
137
137
136
135
135
135
135
135
136
136
136
137
137
138
138
139
139
140
140
141
141
143
146
148
151
152
153
154
156
157
158
158
158
158
157
157
157
157
156
156
156
155
155
155
155
155
155
155
155
155
155
154
154
154
154
154
154
154
154
154
154
154
155
155
156
156
157
157
157
158
158
158
158
158
158
158
158
158
157
157
157
157
157
157
157
157
157
157
157
158
158
158
159
159
159
159
159
159
159
159
159
159
158
158
158
158
158
158
158
158
159
159
160
160
161
161
162
162
163
163
164
164
165
165
166
167
167
168
168
169
170
171
171
172
172
173
173
173
173
173
172
172
172
171
171
171
170
170
170
170
170
170
170
170
170
170
171
171
171
171
171
171
171
171
172
174
176
177
178
180
181
183
184
186
188
189
191
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
194
194
194
194
194
194
194
193
193
193
192
192
192
192
192
192
193
194
195
196
198
199
200
201
202
203
204
205
206
207
207
208
208
209
210
210
211
212
212
213
214
214
217
218
221
223
225
227
228
230
232
235
236
238
240
243
243
243
244
244
244
245
245
245
245
246
246
246
247
247
247
247
247
248
248
248
248
248
248
249
249
249
249
249
250
250
250
250
250
250
250
250
250
250
250
250
250
250
249
249
249
249
249
248
248
248
248
248
247
247
247
247
247
246
246
245
245
245
244
244
243
243
242
242
242
241
241
240
240
240
240
240
241
241
241
242
242
242
243
243
243
244
244
244
244
244
243
242
241
241
240
239
239
238
237
237
236
235
235
235
236
237
238
240
241
242
243
245
246
247
249
250
252
253
255
256
256
256
256
257
257
257
257
257
258
258
258
258
259
261
265
268
271
275
277
280
283
286
290
293
296
299
299
299
300
300
300
301
301
302
302
303
303
304
304
305
305
305
305
306
306
306
306
306
307
307
307
307
308
308
308
309
309
309
310
310
311
311
312
312
313
313
314
314
314
315
315
315
315
315
314
314
314
313
313
313
312
312
312
312
311
311
311
310
310
309
309
308
308
307
307
306
305
305
304
304
304
303
303
305
307
309
311
313
315
316
318
320
322
323
325
327
328
331
333
335
336
337
339
341
343
344
346
348
350
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
355
356
357
358
360
361
363
365
366
368
369
370
371
372
372
371
370
370
369
368
367
367
366
365
365
364
363
362
362
361
360
360
359
359
358
358
357
357
356
356
356
355
355
354
354
354
355
356
357
359
360
361
363
364
365
366
367
369
370
370
371
372
372
373
373
374
375
375
376
377
377
378
378
379
379
380
380
380
379
378
377
377
376
375
375
374
373
373
372
372
371
370
370
371
372
373
374
374
375
376
376
377
378
379
380
380
381
382
382
383
384
384
385
385
386
386
387
388
388
389
390
390
391
391
391
391
391
391
392
392
392
392
393
393
393
393
393
393
391
391
389
388
387
386
385
384
382
381
380
379
380
382
384
386
387
389
391
392
394
395
397
399
403
404
404
405
406
407
408
408
409
410
411
412
413
414
415
415
417
418
420
421
423
424
426
427
428
430
431
432
434
436
437
438
439
439
439
439
439
439
439
440
440
440
440
440
440
440
441
442
442
443
444
445
446
447
448
448
449
450
451
452
451
451
449
448
447
446
445
445
444
443
443
445
447
448
450
451
452
454
455
457
459
460
461
461
461
461
462
462
462
462
463
463
463
463
462
461
460
459
458
456
456
454
453
452
451
450
449
448
447
446
446
445
445
444
441
440
440
440
440
440
440
440
440
440
440
441
442
443
444
445
442
440
439
437
436
434
433
432
430
429
430
431
433
434
436
437
439
440
441
443
444
445
447
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
449
449
449
449
450
450
450
450
451
451
451
451
451
451
451
451
451
450
450
450
450
449
449
449
449
448
448
448
448
448
448
449
450
451
451
452
453
454
455
456
457
458
459
460
462
463
460
458
456
454
450
450
452
455
459
463
468
472
476
476
471
468
464
461
458
458
457
456
455
454
454
454
454
454
454
454
454
454
453
452
441
436
436
435
435
441
447
453
453
454
454
454
453
453
452
452
452
452
452
452
452
453
453
453
453
453
454
454
455
456
456
457
457
458
459
459
460
460
460
460
460
460
459
455
452
448
443
441
446
452
457
465
475
482
479
476
470
458
447
440
433
427
430
433
436
436
436
430
425
420
410
400
393
387
381
379
381
383
387
390
394
397
400
403
405
405
405
405
401
396
391
389
391
393
396
400
401
397
393
394
399
403
394
383
375
370
364
351
339
335
342
346
344
342
346
354
360
355
352
350
348
345
342
339
332
325
319
312
312
312
314
315
315
313
311
309
313
318
318
315
312
316
322
328
326
324
320
316
312
309
305
302
303
304
304
302
300
295
286
279
273
270
266
263
261
260
262
264
263
260
259
262
266
263
256
248
251
257
262
257
255
250
247
244
241
246
251
247
237
228
226
228
231
238
246
247
242
238
234
230
223
216
210
206
202
199
196
189
182
185
194
202
206
209
195
180
170
163
156
159
163
162
157
153
155
159
163
165
166
166
157
146
134
120
106
108
115
121
118
115
98
77
65
67
69
71
73
74
73
73
73
73
77
82
88
90
90
91
93
95
98
101
104
109
113
118
122
119
115
111
107
109
112
115
118
116
112
107
102
98
94
90
87
87
91
94
96
96
92
88
84
78
73
67
62
59
56
54
53
52
51
53
56
59
60
60
60
62
64
67
69
64
59
55
50
50
52
53
53
53
52
52
51
50
50
50
55
60
64
64
63
62
61
61
61
62
62
62
62
62
63
69
73
77
82
86
85
80
75
70
64
58
57
55
53
51
51
51
51
51
50
49
48
47
51
56
61
67
73
73
73
72
72
72
71
70
68
67
66
65
65
67
68
70
72
73
74
76
75
73
71
69
66
63
61
59
57
56
56
56
56
56
56
56
56
56
55
55
54
54
53
52
52
51
50
48
46
44
42
42
43
43
43
43
43
40
37
33
32
30
29
28
27
26
27
29
30
30
30
30
30
30
30
29
29
28
27
27
26
26
26
26
26
26
26
26
27
28
28
29
29
30
31
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
30
30
29
28
27
26
25
25
24
22
19
17
14
12
10
9
9
10
10
11
11
12
13
14
14
15
16
17
18
19
20
20
21
21
21
21
21
21
21
21
21
21
22
23
24
24
23
23
22
22
22
22
22
23
23
23
23
23
23
23
23
23
22
21
20
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
18
19
20
21
22
22
22
22
21
20
19
18
18
18
18
19
19
19
19
19
18
17
17
16
15
15
15
14
14
14
14
15
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
18
18
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
21
22
24
25
27
28
29
28
26
24
22
20
21
22
23
23
24
25
27
28
28
27
27
26
25
24
24
24
24
25
26
26
27
27
26
25
24
23
23
23
23
24
24
24
25
25
25
25
25
26
26
27
27
28
28
28
28
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
30
29
29
29
29
29
29
28
28
26
25
24
24
24
23
23
22
22
22
23
23
24
25
25
27
27
27
27
26
26
25
25
26
28
30
29
26
25
27
28
25
22
20
19
18
17
17
16
16
17
18
18
17
15
11
8
6
5
4
5
8
9
10
12
13
14
13
13
15
16
15
14
13
13
13
14
13
13
13
13
13
10
8
8
8
9
11
12
12
13
14
14
14
12
9
7
7
8
10
11
12
12
12
12
12
12
13
13
13
12
12
13
13
12
12
13
14
15
14
12
9
10
11
8
4
2
0
0
2
6
10
12
11
12
13
11
9
9
9
8
7
9
12
10
8
8
8
8
8
11
12
14
14
14
14
13
11
9
8
8
7
5
6
8
8
8
8
8
10
12
13
14
15
16
16
16
17
18
18
17
16
13
14
16
17
18
16
12
9
7
5
6
6
6
7
8
9
9
9
10
10
11
12
14
16
16
17
16
13
14
15
13
10
7
7
7
8
9
10
9
7
7
7
7
7
7
7
7
8
9
8
8
8
7
5
8
11
10
9
10
10
8
6
6
6
6
7
8
8
8
7
7
7
7
7
7
7
7
8
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
7
6
6
6
6
6
7
8
10
10
10
9
9
9
10
9
6
5
5
6
7
7
7
8
7
6
6
7
7
7
7
7
7
9
9
9
7
7
7
8
10
13
14
13
14
17
17
16
13
9
8
6
4
5
5
1
7
12
15
16
15
13
15
17
17
16
15
13
11
9
7
7
7
8
9
7
4
7
10
8
3
5
9
11
12
13
14
14
13
13
13
14
14
15
15
15
15
15
15
15
14
14
13
12
12
12
12
14
16
18
18
15
16
17
19
19
18
17
15
13
11
13
15
18
20
22
24
22
20
18
17
17
17
15
15
13
12
11
13
17
17
17
17
17
18
18
18
17
16
15
15
14
14
14
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
16
16
16
17
19
21
23
25
26
41
32
32
24
24
24
24
24
23
22
22
22
22
23
23
22
22
24
25
23
21
20
20
20
20
21
21
22
22
23
25
27
30
32
34
36
37
38
40
44
49
33
27
28
28
28
28
28
27
27
26
26
26
25
25
24
23
21
20
19
19
19
19
19
18
17
17
17
17
17
17
18
18
18
18
18
19
20
21
21
21
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
27
27
27
28
28
28
27
27
27
27
26
25
24
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
26
27
27
28
29
29
28
28
27
27
27
27
27
27
27
28
28
28
28
28
27
26
25
24
24
23
22
22
21
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
25
25
25
25
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
26
26
26
26
26
26
26
26
26
27
29
27
26
25
24
23
23
23
23
23
23
23
24
24
24
24
24
24
23
23
23
23
22
21
21
21
21
22
26
29
29
26
24
24
23
22
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
20
19
19
19
19
19
19
19
19
19
19
20
20
20
20
21
22
23
24
25
25
26
26
26
26
25
24
23
23
23
24
25
26
24
22
23
25
25
25
26
26
25
24
24
24
23
23
23
23
23
22
22
22
22
22
22
22
22
22
23
23
24
24
24
24
24
24
24
23
23
23
22
22
21
21
21
20
20
19
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
23
34
31
29
27
26
26
25
25
24
22
19
19
18
18
17
17
17
17
17
17
17
17
17
17
17
18
19
19
19
18
17
16
15
14
14
13
13
13
13
13
12
11
9
8
7
7
8
11
12
9
7
8
10
11
12
14
14
13
11
12
16
14
13
14
14
13
12
12
9
6
4
5
6
6
7
10
13
16
16
16
16
17
18
21
22
23
24
24
25
26
24
23
27
27
25
24
26
27
25
24
22
22
22
22
22
22
24
24
24
24
25
26
27
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28