296
295
294
294
293
292
293
293
294
294
296
297
297
297
300
300
300
300
301
300
299
299
299
300
298
295
301
303
305
305
304
303
303
303
303
303
302
302
301
301
302
303
303
306
306
305
306
307
308
307
308
308
307
308
308
309
309
309
311
315
313
313
314
315
315
316
317
317
317
319
320
321
321
321
321
321
321
321
321
321
320
319
318
317
315
315
312
312
314
314
315
315
315
315
315
315
315
315
316
316
316
316
316
316
316
316
316
316
316
316
316
315
315
315
315
315
315
315
316
316
316
316
316
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
318
319
319
319
319
320
320
320
320
320
319
319
319
318
317
316
314
314
314
314
314
314
317
318
318
318
316
315
318
319
320
322
323
323
323
324
324
324
325
325
325
326
327
329
330
331
333
333
337
339
339
338
337
333
330
327
325
320
319
318
317
315
315
314
314
313
310
310
308
308
308
308
308
308
308
308
308
308
308
309
309
309
309
309
309
309
309
310
311
312
313
314
318
318
318
318
317
317
317
317
318
319
319
319
319
322
323
321
317
314
314
314
314
314
314
314
315
316
317
319
319
319
319
319
320
320
320
321
321
321
321
320
320
319
319
319
323
325
326
326
326
325
325
325
325
325
325
326
326
327
328
328
328
328
328
328
328
329
330
330
331
331
331
331
331
331
332
333
333
335
336
336
339
339
339
338
337
337
337
337
337
337
337
337
338
338
338
339
339
339
341
348
349
350
350
348
347
346
345
343
342
341
340
338
337
336
336
334
333
332
332
332
333
334
335
335
335
335
335
335
335
335
335
335
336
338
338
338
338
338
339
339
340
341
341
341
341
338
335
334
334
334
334
334
334
335
336
340
341
342
345
348
348
348
348
348
348
347
345
345
344
343
343
343
345
353
362
362
360
356
351
350
351
351
350
349
349
348
347
347
346
346
345
344
343
342
341
339
339
340
342
342
345
345
345
346
346
346
347
351
353
354
355
356
356
356
357
357
357
358
358
357
356
355
355
357
360
362
366
366
366
366
366
363
361
359
356
353
352
352
350
349
349
349
349
350
351
355
354
353
352
352
352
353
354
354
354
354
354
354
355
355
356
357
358
359
362
363
363
361
361
362
363
364
365
366
365
363
363
361
364
366
367
370
371
371
371
371
371
371
371
371
371
370
368
361
357
357
360
363
366
366
365
365
366
371
370
369
368
368
367
365
364
363
364
365
366
370
369
369
369
370
372
374
376
377
380
380
380
380
380
380
380
380
380
380
381
382
383
383
383
384
385
386
387
388
388
388
388
389
390
390
390
389
389
388
388
387
385
385
385
385
385
386
386
386
386
386
386
386
386
386
384
384
382
382
378
376
378
379
380
381
383
387
388
389
391
389
388
388
388
389
392
393
394
395
395
392
390
389
389
389
389
390
391
391
393
394
397
396
393
391
389
387
386
384
383
383
383
383
383
383
383
383
383
383
384
384
384
384
386
387
389
389
389
389
388
388
387
387
388
390
391
392
393
393
393
394
396
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
399
400
401
406
406
405
405
405
404
403
402
402
402
405
410
409
407
407
404
403
403
403
402
401
401
400
400
398
398
398
398
399
399
399
399
399
399
400
400
400
402
403
404
406
407
407
406
406
406
405
405
406
406
408
407
405
401
401
403
405
408
410
409
409
407
407
405
404
406
412
415
416
417
422
424
424
425
426
428
429
429
429
428
427
425
424
422
421
421
422
423
424
425
425
426
426
426
426
426
424
424
424
423
423
423
423
423
424
424
425
426
426
427
427
428
429
429
429
430
430
430
429
428
427
426
428
429
431
432
433
433
433
432
432
431
430
430
429
429
429
428
428
428
428
427
428
428
428
429
429
431
434
437
439
441
443
450
451
452
452
454
454
453
453
453
460
464
475
478
481
482
483
485
486
487
488
488
489
490
490
490
490
490
490
490
490
490
491
491
491
491
492
493
494
495
499
501
503
504
509
510
510
510
510
510
510
510
510
511
511
512
512
512
512
512
512
511
509
506
504
502
500
503
506
506
511
511
512
517
525
527
534
532
530
532
534
538
540
543
550
554
556
556
556
555
554
556
558
562
565
566
566
566
565
565
565
564
565
568
570
571
575
577
579
580
581
583
585
587
589
589
590
592
593
582
582
584
585
585
586
587
587
587
586
586
584
584
584
584
586
588
591
592
596
599
605
627
626
626
625
625
630
631
636
638
641
641
641
641
642
642
642
642
642
643
645
647
650
652
656
662
664
665
663
663
655
655
655
655
656
656
657
662
663
663
666
666
666
666
666
666
667
667
667
667
669
673
684
686
687
688
693
700
701
705
707
708
709
710
711
715
717
718
721
720
720
720
719
719
719
720
720
726
726
727
728
728
729
730
731
732
733
735
736
737
742
743
744
746
747
748
749
749
749
749
749
749
749
749
749
749
750
751
752
753
755
761
767
772
774
778
780
781
784
784
784
784
784
784
784
784
784
784
784
784
784
784
784
785
785
785
786
786
786
787
787
787
788
788
788
789
789
790
790
790
789
788
787
784
781
779
772
769
767
766
764
763
758
757
756
754
752
752
750
745
744
743
741
739
738
737
735
733
732
731
731
730
728
728
728
728
727
727
727
726
725
724
718
716
714
713
711
709
706
697
692
692
692
692
692
692
692
692
692
692
692
690
687
686
684
682
678
677
672
669
667
666
658
657
654
653
649
648
647
646
645
644
642
639
635
635
634
633
631
628
627
626
620
617
616
614
612
610
602
599
596
594
593
592
591
590
588
585
582
579
570
568
567
566
566
565
563
556
555
550
547
547
545
541
540
538
536
535
535
534
533
531
531
528
524
522
521
519
517
517
514
512
511
511
511
510
510
509
509
508
507
505
504
501
501
500
498
498
489
487
486
477
477
475
474
473
472
472
471
470
470
467
466
465
463
460
456
456
456
456
456
456
456
456
456
456
456
456
448
446
445
442
438
434
431
428
425
420
418
416
408
402
397
395
393
387
385
378
376
368
363
361
359
357
355
353
348
346
341
337
335
333
332
331
323
317
317
316
308
306
306
303
303
303
303
303
303
302
300
300
299
298
298
295
298
294
290
288
287
286
283
281
281
283
283
285
285
286
285
284
283
282
282
284
285
286
287
284
278
278
278
278
278
278
276
275
271
267
265
264
263
265
266
268
266
264
261
257
255
250
245
244
245
246
247
247
247
248
248
249
249
249
250
250
250
251
251
252
252
253
254
256
260
261
261
261
262
262
263
264
266
266
264
261
260
259
258
256
256
256
255
255
259
261
262
265
263
262
261
259
257
253
245
242
245
246
245
241
239
238
235
236
239
242
244
245
246
250
251
251
251
251
251
250
249
248
247
246
246
246
246
246
246
246
246
245
245
244
242
239
242
243
244
246
243
242
239
235
233
232
232
232
232
232
232
233
234
234
234
234
234
234
237
240
242
246
245
245
244
243
240
241
242
247
248
247
247
247
246
243
240
240
240
240
240
240
239
236
234
233
232
228
226
225
225
225
225
225
226
227
231
233
237
238
239
240
240
240
239
239
239
239
238
237
237
236
235
234
236
238
239
239
240
242
245
246
246
245
244
243
242
241
240
236
235
233
228
229
230
231
232
234
232
231
231
230
229
229
229
229
225
222
220
218
217
217
218
219
222
218
215
213
211
212
214
215
217
218
220
220
219
217
216
215
213
213
213
213
214
215
219
222
219
213
208
205
203
201
201
201
201
201
201
201
202
203
205
207
205
205
204
202
201
205
206
207
209
211
211
211
211
211
211
211
211
211
211
206
201
196
196
196
196
197
198
200
200
198
202
204
205
205
205
203
200
196
195
195
195
195
194
194
193
192
192
191
191
191
191
191
191
191
191
191
192
192
193
193
194
195
196
198
198
199
200
201
202
204
205
207
208
210
210
211
212
213
213
213
213
213
214
214
214
214
214
213
213
212
212
211
211
210
210
210
210
210
210
210
210
210
211
213
214
215
215
216
218
219
220
220
221
223
224
224
222
222
221
220
219
219
218
217
216
216
216
216
216
216
217
219
219
224
225
225
226
227
233
234
241
245
248
262
264
266
268
269
270
273
279
279
280
281
281
281
283
283
284
289
293
296
298
302
303
304
307
308
310
316
317
320
321
322
326
328
331
334
336
336
337
339
340
341
342
343
345
346
347
348
350
351
351
352
353
354
354
354
354
355
356
357
357
357
357
368
370
376
382
384
385
387
390
393
396
400
404
407
412
414
420
421
421
421
421
420
420
418
418
418
418
420
420
421
422
424
424
428
430
430
432
434
437
438
439
440
447
448
449
449
451
452
460
461
476
480
482
482
483
483
484
487
488
489
490
490
491
499
505
507
512
518
523
528
536
538
540
542
547
550
552
553
554
554
554
554
554
554
554
554
554
555
558
560
562
562
563
564
566
567
574
575
576
577
579
580
581
580
580
579
579
578
578
578
578
584
589
607
613
618
626
629
633
642
643
643
642
642
641
639
638
637
636
636
636
636
636
637
640
642
643
643
644
644
645
646
647
648
649
650
652
652
653
654
655
657
658
659
660
661
662
664
665
667
669
671
672
674
675
676
678
679
680
681
682
684
686
690
693
695
695
695
696
697
699
705
708
709
713
713
714
714
717
718
719
720
722
725
726
728
728
729
730
730
730
731
732
732
734
736
737
738
740
744
746
747
748
749
750
751
753
755
757
759
760
761
765
766
767
769
773
772
771
769
765
763
760
759
757
756
755
753
752
751
749
749
749
749
749
749
749
749
749
749
749
749
749
742
741
739
738
735
733
729
718
717
715
715
715
715
715
715
715
715
715
711
709
708
705
704
702
699
696
693
692
691
691
689
689
689
688
686
685
684
683
681
680
679
679
677
677
676
672
671
667
666
665
664
662
660
656
652
642
640
637
637
633
632
632
632
632
631
630
628
627
626
623
614
613
612
612
611
611
610
609
609
607
606
601
600
598
597
597
594
592
589
588
586
582
580
580
580
579
578
578
578
577
571
565
565
562
559
558
556
555
555
553
555
560
561
561
559
559
558
557
556
556
555
553
553
549
544
542
542
542
542
542
542
542
542
542
541
540
539
536
535
535
532
532
531
530
529
529
528
528
527
527
525
524
523
522
520
520
519
518
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
517
517
518
519
521
521
521
520
520
519
519
519
522
523
525
525
525
525
523
522
522
522
522
522
522
522
522
523
523
524
524
524
522
519
515
511
510
509
508
506
504
503
502
502
502
501
501
501
501
500
497
496
493
490
488
484
483
481
480
479
478
476
475
475
475
476
476
476
476
476
477
477
477
477
477
477
477
477
477
477
477
477
477
477
478
478
478
475
475
474
472
472
471
470
468
467
465
463
462
461
459
458
457
455
455
455
454
454
454
453
453
452
452
452
451
451
450
450
450
449
449
449
449
448
447
449
450
450
450
450
450
449
449
448
447
447
446
442
439
436
430
427
424
416
412
406
398
394
393
391
389
388
384
383
380
374
368
366
360
356
351
348
347
345
344
342
339
333
331
327
325
324
323
320
319
318
315
311
308
306
305
302
300
297
290
287
287
286
286
286
286
286
286
287
288
288
288
288
287
287
291
292
293
294
300
300
303
305
306
307
308
310
312
313
316
318
320
326
328
329
331
332
330
318
315
314
312
311
309
301
298
296
294
292
290
288
284
279
278
277
276
274
273
271
268
266
264
262
261
260
256
254
250
249
242
238
234
232
230
226
225
224
222
220
219
218
216
213
209
207
206
205
203
202
201
200
200
196
194
192
187
185
184
182
175
173
171
171
170
169
168
166
166
164
162
158
150
143
132
130
129
129
128
128
116
113
107
104
102
102
102
100
100
99
98
98
98
98
98
98
99
99
99
99
97
95
94
93
92
91
91
90
90
89
89
88
88
88
88
88
88
88
88
88
89
89
89
89
89
89
89
88
88
88
88
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
84
82
82
83
83
83
84
84
84
84
84
79
74
71
66
66
63
62
62
60
60
59
59
59
59
60
62
62
63
58
57
57
57
57
56
56
56
56
56
55
53
52
50
49
53
54
54
53
53
51
50
52
54
56
56
56
55
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
54
52
52
51
51
52
52
52
52
52
52
52
52
53
60
61
64
65
67
67
67
67
67
66
67
67
67
67
68
68
68
68
68
68
68
68
68
67
66
66
65
64
64
64
64
64
64
64
64
63
63
63
63
63
63
63
62
60
61
63
62
62
61
61
61
60
58
58
58
57
57
56
56
56
54
52
52
52
52
52
52
52
52
52
52
52
51
53
53
53
53
52
52
52
52
52
52
52
52
51
51
51
51
51
51
50
50
50
50
49
49
48
47
46
46
46
46
46
43
42
39
39
38
38
38
38
38
38
38
37
36
37
37
37
36
35
35
34
33
33
33
32
32
31
30
30
30
30
30
30
31
31
30
29
29
29
30
30
30
30
30
30
29
28
28
27
27
26
25
25
24
23
23
23
23
24
24
24
24
24
24
23
23
22
22
23
24
23
24
25
25
25
24
24
24
26
26
27
27
27
28
28
28
28
28
29
29
29
30
30
30
31
33
32
32
31
31
29
29
28
28
28
28
28
28
28
28
29
31
31
31
31
31
31
31
31
30
30
29
29
29
29
30
30
31
31
31
31
31
32
33
33
34
34
34
34
34
34
34
35
35
35
36
31
31
31
31
31
31
31
31
31
31
31
32
31
31
31
30
29
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
25
25
25
25
24
24
24
24
27
27
27
26
26
26
26
26
26
26
26
26
25
25
26
26
27
28
28
28
28
28
28
28
25
24
24
24
23
26
26
26
26
26
26
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
22
22
22
21
21
20
20
19
19
19
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
18
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
15
15
15
16
16
17
18
18
19
19
18
17
17
17
16
15
15
14
14
14
13
13
13
13
13
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
17
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
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
12
11
11
11
11
11
12
12
12
12
11
11
10
10
10
10
10
10
11
12
14
14
13
12
12
11
11
11
7
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
6
6
6
5
5
4
4
4
5
5
5
5
5
4
3
3
3
4
4
5
5
5
5
5
4
4
4
4
4
4
4
4
4
5
5
4
4
4
3
3
3
4
5
5
5
5
4
4
4
4
3
3
3
3
3
3
4
5
5
5
5
4
6
6
5
5
5
4
4
8
8
6
6
6
6
6
4
4
4
4
4
4
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
2
2
1
1
1
1
1
1
1
1
1
0
0
0
1
1
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
2
2
2
3
3
3
3
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
5
5
5
5
4
4
3
3
3
4
4
4
3
3
3
2
1
1
1
1
2
5
6
7
7
5
1
1
4
5
6
6
3
0
0
0
2
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
2
2
2
3
3
3
3
0
0
1
5
3
3
3
2
1
1
4
5
5
4
3
3
4
6
14
15
15
16
17
17
17
18
18
18
19
20
20
20
20
21
21
22
28
28
28
29
31
32
32
33
34
48
53
54
56
58
59
59
59
60
60
60
59
57
57
57
60
59
59
59
59
59
59
59
60
62
62
65
70
70
70
70
70
70
70
71
72
73
74
75
80
81
81
81
81
81
81
82
82
99
114
115
115
114
114
114
118
118
119
119
122
123
124
124
127
127
129
130
130
130
130
130
131
132
137
139
139
139
139
139
139
139
139
139
139
139
139
138
138
138
138
138
138
139
139
140
141
144
146
146
147
152
160
175
177
193
193
196
198
200
200
202
229
230
237
237
237
236
237
238
238
238
239
252
252
254
255
255
255
255
255
256
256
256
255
254
253
248
248
248
248
248
244
239
230
229
215
212
210
207
201
201
200
196
191
189
184
183
183
182
182
180
179
178
177
174
172
169
166
165
164
163
161
159
158
157
155
152
151
150
149
149
149
149
149
149
149
145
138
134
133
132
132
123
106
103
101
99
94
92
89
85
79
77
74
70
59
56
55
53
51
50
44
43
40
39
37
36
32
29
28
27
25
25
20
19
15
12
11
9
8
8
7
7
6
6
6
2
3
3
3
4
5
6
6
6
5
5
6
6
6
5
5
4
4
4
4
4
4
4
4
5
6
6
6
9
9
5
5
3
3
2
2
2
2
2
4
5
6
6
6
6
5
5
5
5
6
6