12
12
13
15
17
20
29
30
31
33
38
38
38
39
38
37
37
37
37
37
40
42
47
56
57
58
60
63
67
72
76
78
81
80
79
79
83
89
101
106
110
111
111
115
118
120
121
123
123
120
113
109
106
97
96
95
92
95
99
103
107
110
113
116
121
125
129
131
132
133
134
135
136
143
160
163
167
172
179
184
190
195
201
202
204
207
199
187
160
156
152
131
128
118
133
137
146
148
150
159
162
164
169
174
178
181
187
189
188
187
186
181
171
167
166
166
166
166
166
166
166
166
166
166
166
166
166
166
165
165
164
163
162
154
164
164
164
164
169
175
179
182
186
186
187
190
190
191
189
184
172
165
163
160
162
166
169
173
180
165
159
155
151
154
161
165
169
175
179
185
187
192
194
197
199
200
194
180
187
197
205
212
202
198
195
190
188
185
182
179
176
173
170
168
165
164
168
171
175
179
174
168
164
159
155
150
148
143
143
141
139
139
133
130
128
125
124
125
126
127
128
129
129
129
129
130
125
130
132
131
129
130
132
134
132
129
120
115
110
103
90
89
88
88
86
98
95
94
93
95
100
109
110
110
111
105
101
95
93
91
89
85
82
83
83
88
99
107
113
117
121
137
141
150
152
153
155
158
159
161
163
165
160
157
156
154
164
167
169
167
165
163
160
156
153
153
153
153
153
156
159
161
162
166
169
168
167
166
166
171
186
194
209
212
218
224
228
230
233
230
227
223
215
215
215
215
214
213
210
209
203
201
197
190
167
160
153
147
147
146
146
145
144
138
134
130
130
130
130
130
130
130
129
128
106
97
102
107
112
115
120
123
125
127
132
142
135
131
128
124
125
125
122
113
111
109
108
108
111
110
104
101
98
96
95
95
94
94
93
93
92
89
89
95
105
119
127
127
127
129
131
133
136
142
148
155
157
158
159
160
158
158
159
162
164
166
168
176
181
187
185
185
184
182
186
189
194
200
210
212
216
218
212
208
206
202
196
216
230
236
232
229
225
221
216
220
226
228
229
230
237
242
244
247
250
256
250
250
250
255
258
261
263
267
283
288
290
293
296
297
297
300
308
310
313
314
316
318
317
314
310
306
302
299
297
295
298
301
305
308
307
307
306
306
305
303
299
296
296
299
302
306
313
317
318
317
317
314
314
314
314
315
324
332
328
326
326
324
319
318
315
314
312
320
326
347
353
354
351
347
343
339
333
336
345
355
355
354
352
349
346
345
347
359
361
362
363
363
364
364
364
365
365
367
365
362
360
358
353
358
361
364
366
370
372
376
375
374
373
373
373
374
377
379
381
382
383
383
383
381
379
376
374
373
373
372
375
383
385
385
385
385
385
385
385
385
387
388
389
390
391
391
389
387
385
385
385
385
383
381
377
375
373
366
362
346
343
340
337
337
337
337
335
332
329
326
324
322
318
316
315
312
310
301
293
287
282
282
276
276
276
274
272
268
267
269
270
272
270
268
259
256
242
236
232
231
241
253
259
263
267
271
271
272
274
275
275
276
272
263
244
236
234
232
223
210
207
204
207
209
187
175
166
162
160
155
152
149
148
147
146
143
141
139
128
123
121
122
124
114
100
93
84
76
74
73
71
68
61
58
56
55
54
53
51
49
48
46
44
42
41
36
29
28
26
24
24
23
23
22
32
59
61
62
37
31
27
22
18
24
35
69
79
77
76
74
67
58
55
53
49
47
84
87
89
89
90
91
90
83
81
78
75
68
62
57
50
60
57
56
55
51
3
1
1
1
1
0
0
0
1
2
3
4
5
7
11
12
15
20
25
32
38
44
54
60
66
63
63
63
63
63
64
66
68
69
70
56
53
48
45
45
51
54
57
59
60
59
59
54
48
44
38
33
31
27
28
32
35
36
36
36
36
41
30
20
14
11
8
5
2
1
0
1
1
20
23
25
22
21
21
21
23
23
11
15
17
19
19
15
10
8
9
9
8
7
6
2
2
1
1
1
1
0
0
0
1
1
1
1
1
1
2
2
14
16
18
18
18
20
20
18
19
19
19
18
18
18
17
17
15
12
11
10
9
8
8
7
6
6
6
8
9
8
7
7
5
5
5
5
5
5
5
5
5
5
5
5
5
5
9
10
12
12
17
19
23
25
31
35
36
37
35
35
36
37
37
37
37
38
38
42
44
48
50
51
53
54
54
53
52
51
52
54
54
53
50
49
48
48
48
50
52
54
57
58
59
62
64
67
67
73
78
82
87
87
83
83
84
84
85
87
89
90
92
96
100
101
102
107
110
111
111
117
134
137
159
161
159
166
156
156
154
161
168
168
175
174
179
181
180
180
179
177
175
175
178
177
176
177
178
181
182
183
185
187
189
191
192
193
195
197
198
199
200
203
204
203
202
200
197
195
192
193
195
197
199
202
207
216
217
217
218
219
219
220
218
217
214
212
216
218
220
220
220
220
220
222
225
228
228
229
230
232
233
235
237
242
246
251
260
260
261
262
262
267
271
274
275
275
276
278
279
286
288
292
305
309
310
311
312
313
314
315
313
311
311
310
309
308
310
312
315
319
323
324
324
317
315
311
317
327
331
337
344
346
339
327
324
340
349
354
357
362
364
366
368
366
363
357
348
344
343
342
342
350
352
354
356
356
357
358
361
366
366
365
372
379
381
386
394
397
400
401
400
398
403
417
417
417
414
413
418
425
428
433
434
434
431
430
424
423
424
424
424
424
425
426
429
432
436
435
434
434
436
450
462
472
476
475
473
472
472
472
474
477
478
477
472
466
444
442
446
450
456
494
508
509
509
509
507
510
514
517
516
510
504
503
499
498
497
506
512
517
526
520
518
517
507
507
508
510
515
515
515
515
514
509
507
522
532
541
550
537
537
532
529
526
521
507
507
507
507
507
507
507
507
501
493
493
493
493
516
531
538
542
544
538
531
531
532
534
536
541
544
546
546
546
546
550
551
558
565
566
566
566
564
566
567
568
570
572
572
572
572
577
577
577
579
581
581
583
590
591
596
599
601
602
603
603
606
608
616
620
622
624
628
637
641
640
640
639
646
647
648
641
649
654
658
662
659
655
656
658
663
664
668
669
671
674
676
673
672
672
675
682
687
689
691
692
692
690
689
689
689
692
694
697
697
702
705
706
702
699
697
696
694
694
694
694
693
697
699
700
698
691
682
678
677
677
679
681
683
684
680
676
679
682
681
680
679
678
678
679
679
679
678
677
676
674
672
674
676
673
670
665
668
670
672
678
678
680
681
676
672
666
657
650
642
636
640
641
656
663
661
659
651
644
641
640
637
633
629
636
641
644
643
640
636
627
623
617
616
612
609
609
609
608
607
607
610
611
612
613
611
609
601
600
600
600
596
595
593
595
598
601
603
604
603
599
595
590
588
584
580
579
580
582
584
586
587
586
583
582
583
584
587
588
589
588
579
580
581
586
587
582
579
578
578
578
576
576
575
572
566
560
555
561
564
564
564
562
562
561
559
552
552
552
546
543
539
534
531
519
517
515
515
516
517
518
525
533
533
532
531
528
525
524
522
524
525
534
529
527
523
517
515
513
512
510
506
501
500
498
498
495
495
494
490
488
481
469
464
466
478
478
478
477
477
474
481
480
475
470
468
461
457
456
451
444
443
443
438
430
428
436
441
452
449
456
453
440
431
411
413
414
423
423
412
407
405
400
396
390
389
379
371
364
363
364
366
371
368
365
363
355
354
355
355
355
365
368
369
371
369
368
363
365
365
352
345
343
343
342
339
337
331
324
322
322
323
323
323
304
299
297
297
297
296
295
298
314
337
344
345
343
342
304
301
306
309
305
301
297
296
294
293
291
287
284
282
285
295
301
305
299
294
278
267
266
267
267
268
274
275
279
277
274
273
263
262
262
266
269
265
258
263
261
257
254
250
247
238
233
224
218
211
205
209
217
221
203
192
181
198
213
219
226
232
226
223
220
215
203
188
191
196
206
212
208
197
189
183
169
172
178
180
183
186
200
209
232
261
263
264
265
272
278
288
298
298
302
310
326
336
347
345
345
354
376
378
380
393
404
406
407
414
422
432
436
440
441
449
454
456
458
459
460
461
460
462
474
481
487
490
492
498
502
506
519
522
525
528
531
532
538
544
546
559
564
576
587
588
593
595
601
606
612
615
615
618
620
623
625
625
626
626
627
628
629
630
632
635
645
647
650
662
664
664
662
661
659
658
657
651
647
642
640
639
633
629
627
620
619
619
619
620
620
619
604
602
598
595
593
592
591
594
599
604
606
606
609
609
610
614
616
622
623
625
625
626
625
623
621
621
621
621
622
622
626
630
630
630
630
628
628
623
616
616
616
616
614
613
612
610
601
600
596
595
592
586
585
583
582
578
576
574
573
571
571
572
573
577
581
582
584
590
589
589
591
595
597
606
607
609
611
613
613
613
610
608
606
605
602
594
585
577
575
572
571
568
563
562
560
558
554
546
540
531
523
516
510
500
493
481
477
459
457
454
450
448
442
440
438
435
423
422
422
421
421
421
419
418
416
414
413
407
402
395
393
389
385
381
379
375
375
376
377
376
375
374
372
370
358
351
347
345
334
323
321
318
300
300
299
298
298
300
299
287
283
279
274
270
270
259
240
231
223
208
197
179
169
144
132
127
120
106
105
106
108
109
111
106
104
102
101
99
99
104
101
99
93
91
89
87
85
84
80
78
69
69
68
68
71
72
73
74
74
74
73
73
72
71
71
70
69
69
69
71
73
73
73
68
64
66
77
83
81
74
72
71
78
82
92
93
86
84
82
86
94
95
93
91
90
89
88
87
86
85
84
85
86
86
86
87
87
90
92
95
99
102
105
105
105
104
113
118
122
129
124
116
108
104
108
112
115
118
121
127
133
139
146
151
155
160
167
167
167
167
170
176
180
183
184
186
187
194
196
175
171
170
171
185
187
188
188
188
188
188
191
199
205
210
213
216
203
196
197
199
206
207
209
211
215
221
226
230
236
250
255
254
253
253
252
252
243
231
230
230
229
231
233
252
269
276
278
279
283
289
308
322
325
328
339
348
354
358
356
355
353
373
375
378
380
376
375
375
374
373
372
375
375
377
378
379
380
381
388
401
406
413
414
412
404
396
381
377
380
385
390
403
404
404
404
404
404
404
406
414
420
424
427
431
434
434
435
435
435
434
434
434
434
434
428
422
420
418
416
419
443
465
467
467
468
463
460
455
449
444
451
454
456
466
469
473
475
474
472
471
462
448
442
445
446
447
452
455
455
459
460
462
463
457
450
440
461
466
478
475
467
467
467
469
483
489
494
500
504
508
508
509
511
514
514
514
513
513
516
517
519
522
523
524
526
528
525
523
520
523
547
546
546
546
550
551
552
554
555
556
558
560
564
571
574
571
569
567
564
567
570
571
571
571
573
577
581
588
595
605
601
599
597
594
586
582
571
565
567
569
572
586
607
613
628
631
638
639
643
644
645
645
641
621
629
636
639
642
646
652
660
665
674
675
678
679
680
682
683
684
683
683
683
682
680
680
679
680
683
684
686
687
694
696
707
707
707
711
712
713
716
718
719
724
725
726
728
729
731
731
732
732
732
732
732
63
63
55
53
51
48
48
47
43
41
39
36
36
35
35
34
32
31
31
28
28
31
31
29
28
27
27
26
26
26
26
26
26
25
25
25
23
21
21
15
12
10
10
19