301
301
301
301
302
302
302
303
303
303
303
304
304
304
305
305
305
305
305
305
305
304
304
304
304
303
303
303
303
302
302
302
302
302
303
303
304
305
305
306
307
307
308
309
309
310
310
310
310
310
310
310
310
310
310
310
310
310
311
311
311
311
311
311
311
311
311
311
311
311
310
310
309
309
308
308
308
307
307
306
305
305
304
304
304
303
303
303
303
303
303
302
301
301
300
300
299
299
298
298
298
298
298
298
298
298
299
300
300
301
302
302
303
303
304
304
304
305
306
307
308
308
309
310
311
311
312
313
314
315
315
316
317
317
318
318
319
319
319
320
320
321
321
322
322
323
323
323
323
323
324
324
324
324
324
324
325
325
325
325
325
325
325
326
326
326
326
326
326
326
327
328
328
329
329
330
330
331
331
332
332
333
334
334
335
335
336
336
337
338
338
339
339
340
341
341
342
343
343
344
344
345
346
346
347
348
348
349
350
350
351
352
352
353
353
354
355
355
356
356
357
357
358
358
358
359
359
359
360
360
361
361
361
362
362
362
363
363
363
363
363
363
363
363
363
363
363
363
362
362
362
362
362
362
362
362
362
362
362
361
361
360
359
359
358
357
357
355
355
355
355
354
354
354
354
354
355
355
356
356
357
357
357
358
358
359
359
359
360
360
360
361
361
361
362
362
362
363
363
363
364
364
364
365
365
365
366
366
366
366
367
367
367
368
368
369
369
370
371
372
373
374
375
376
377
378
379
380
381
381
382
383
384
384
385
385
386
386
387
387
388
388
389
389
390
391
391
391
391
392
392
392
393
393
394
394
394
395
396
396
397
397
398
398
399
399
400
400
401
401
402
403
403
404
404
404
404
404
405
405
405
405
406
406
406
406
407
407
407
407
408
408
409
410
410
411
412
412
413
414
414
415
416
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
430
431
432
433
433
434
434
434
435
435
436
436
436
437
437
438
438
438
438
439
440
441
442
443
444
445
445
446
447
448
449
450
451
452
453
453
454
455
456
457
458
458
459
460
461
461
462
463
464
464
465
465
466
466
467
467
468
468
469
469
470
470
471
471
472
472
473
473
474
474
475
475
475
476
476
477
477
477
478
478
479
479
480
480
480
481
481
481
482
482
482
483
483
483
484
484
484
485
486
487
488
489
490
491
492
493
494
495
496
498
499
500
501
502
503
503
504
505
505
506
507
508
508
509
510
511
511
512
513
514
514
515
516
517
518
518
519
520
521
522
522
523
524
525
526
526
527
527
527
528
528
529
529
529
530
530
531
531
532
532
533
533
534
534
535
535
536
537
537
538
538
539
539
540
541
541
542
543
544
545
545
546
547
548
549
550
551
552
553
554
555
556
557
557
557
557
558
558
558
559
559
559
559
560
560
560
560
561
561
561
562
563
563
564
565
566
566
567
568
568
569
570
571
571
572
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
572
572
572
572
571
571
571
571
572
574
576
578
579
580
581
583
584
585
586
587
589
590
590
590
590
589
589
589
588
588
588
587
587
587
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
600
601
601
601
602
602
602
603
603
604
604
605
605
605
606
607
608
610
611
612
613
614
616
617
618
619
620
621
623
624
626
627
628
628
628
628
628
629
629
629
629
629
630
630
630
630
630
630
631
632
633
634
635
636
637
638
639
640
640
641
642
643
644
645
645
645
645
646
646
646
646
647
647
647
647
648
648
648
648
648
649
650
651
651
652
653
654
655
656
657
657
658
659
660
661
662
663
663
664
664
665
666
666
667
667
668
668
669
670
670
671
672
672
673
673
674
675
675
676
677
677
678
678
679
680
680
681
682
682
683
684
684
685
685
686
686
687
688
688
689
689
690
690
691
692
692
693
694
695
696
697
698
698
699
700
701
702
703
704
705
705
705
706
706
707
707
707
708
708
708
709
709
710
710
710
711
712
713
714
715
715
716
717
718
719
720
721
721
722
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
723
722
722
722
722
722
722
722
722
721
721
721
721
721
721
721
721
721
721
721
721
721
721
722
722
722
722
722
722
722
722
722
722
723
723
724
725
725
726
726
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
727
728
728
728
728
728
728
728
727
727
727
727
727
727
727
726
726
726
725
725
725
725
724
724
724
722
719
718
715
714
711
708
705
703
701
700
700
700
701
702
702
702
702
702
702
702
702
702
702
703
704
704
704
703
703
702
702
701
701
701
700
700
700
700
700
700
700
701
701
701
701
701
701
702
702
702
703
703
703
704
704
704
705
705
705
706
706
706
707
707
707
708
708
708
709
709
709
709
709
709
709
708
708
708
708
707
707
707
706
706
706
706
706
706
706
706
705
705
704
704
704
703
703
702
702
702
702
702
702
702
702
703
703
704
705
706
706
707
708
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
710
710
710
710
710
710
710
710
709
709
709
709
709
709
708
708
708
708
708
707
707
707
707
707
707
707
706
705
705
704
703
703
702
702
702
702
702
702
702
702
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
701
702
702
702
702
703
703
703
703
704
704
704
704
705
705
705
705
706
706
706
706
707
707
707
707
708
708
708
709
709
710
710
710
711
711
712
713
713
714
714
715
715
716
716
717
717
718
718
718
718
718
719
719
719
719
720
720
720
721
721
721
722
722
722
722
722
722
721
721
721
720
720
720
720
720
720
720
720
720
721
721
721
721
721
721
721
721
721
721
721
721
721
721
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
721
722
724
725
726
726
726
727
727
727
727
727
728
728
728
728
728
728
729
729
729
730
730
730
731
731
731
732
732
732
732
733
734
734
735
735
736
736
737
737
738
738
739
739
739
739
739
739
738
738
738
738
738
737
737
737
737
737
737
737
737
736
736
736
736
735
735
735
735
735
734
734
734
734
734
734
734
734
734
735
735
736
736
737
737
738
738
738
739
739
739
739
739
739
740
741
741
741
742
742
743
744
744
744
744
744
744
744
744
744
744
744
744
744
744
745
745
746
746
747
748
748
749
749
750
750
751
751
752
752
752
752
753
753
753
753
754
754
754
754
754
755
755
755
755
756
756
757
757
757
758
758
759
759
760
760
761
762
762
762
762
763
763
763
763
764
764
764
764
765
765
765
765
765
765
766
766
766
766
766
766
767
767
767
767
768
768
768
768
769
769
769
769
770
770
771
771
771
772
772
772
773
773
773
774
775
776
777
778
778
779
780
781
781
782
783
783
784
784
785
785
786
786
787
787
788
788
789
789
790
790
791
792
792
792
792
793
793
793
793
794
794
794
794
795
795
795
796
796
796
796
797
797
797
797
798
798
798
799
799
799
799
799
799
800
800
800
800
800
800
801
801
801
801
802
802
802
802
803
803
803
803
804
804
804
804
804
805
805
805
806
806
806
806
807
808
808
809
810
811
811
812
813
814
814
815
816
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
818
818
818
818
818
818
818
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
818
819
820
821
821
822
822
823
823
823
823
823
823
824
824
824
824
824
824
824
823
823
822
822
821
821
820
820
819
818
817
817
816
815
814
812
811
810
810
809
808
807
806
806
805
803
802
801
800
799
798
798
797
797
796
795
793
792
791
790
789
788
788
786
786
785
784
783
783
782
782
781
781
780
780
779
778
777
776
776
775
774
774
773
772
771
770
768
766
765
764
763
761
760
759
758
757
757
756
755
755
754
753
752
751
750
750
749
748
746
745
744
743
741
741
740
740
739
739
738
738
738
737
736
735
734
734
734
733
733
733
733
732
732
732
731
731
730
730
730
729
729
728
728
727
727
726
726
725
724
724
723
723
722
722
721
720
719
718
718
717
716
716
715
715
714
714
713
713
713
712
712
711
711
710
709
708
707
705
704
702
701
700
700
700
700
700
700
700
699
699
699
698
698
698
697
696
696
695
695
695
694
694
693
692
691
691
689
688
688
686
686
685
685
685
685
685
685
684
683
682
681
679
677
677
676
676
675
675
673
673
672
671
670
669
667
666
666
665
664
664
663
663
663
662
662
662
662
661
661
661
660
659
659
658
657
656
655
653
653
652
649
647
645
645
644
643
643
641
641
639
637
635
635
634
633
632
630
629
629
630
631
632
633
632
631
630
628
627
625
624
623
623
623
623
623
622
622
621
621
621
621
620
620
620
619
618
616
615
614
613
611
610
608
608
606
605
603
603
603
604
605
606
606
607
607
607
607
606
606
605
605
604
603
602
601
599
598
598
596
595
593
593
592
592
591
590
589
588
587
587
587
587
587
587
587
586
586
585
584
584
584
583
582
582
581
580
579
578
577
576
574
573
572
571
569
568
568
568
568
568
568
568
565
563
561
557
554
554
554
555
555
556
556
556
556
555
555
554
554
553
551
551
550
549
548
545
543
542
540
539
536
536
536
535
534
533
532
531
529
528
525
524
523
523
521
521
519
519
519
518
517
517
517
513
511
510
506
503
502
503
504
505
506
507
506
503
500
497
496
496
497
498
498
498
496
494
491
488
487
485
483
483
481
481
480
479
479
478
478
478
478
478
478
478
475
472
469
466
464
464
462
461
459
458
458
457
457
456
455
455
454
454
454
452
450
449
447
446
444
443
441
439
437
436
435
434
432
430
429
429
427
425
424
424
423
423
423
422
421
421
420
419
418
417
416
415
413
413
413
413
413
413
413
412
411
409
408
407
406
405
404
403
403
402
402
401
400
398
397
395
393
392
391
389
387
385
384
383
381
380
379
378
378
378
378
378
377
375
374
370
369
367
364
364
364
364
364
363
361
360
358
356
354
352
350
349
347
344
342
339
337
336
336
336
336
337
337
337
337
335
333
333
331
330
330
331
331
331
332
332
333
333
333
332
331
329
328
327
325
324
321
319
315
312
308
307
303
300
300
300
301
301
302
302
302
302
302
302
302
302
302
301
300
299
298
296
296
293
291
288
285
283
280
278
274
270
269
269
269
268
268
267
266
265
265
265
264
263
263
262
262
261
260
259
258
258
257
256
254
254
253
252
251
250
249
247
247
245
243
241
239
238
238
238
238
238
238
238
238
237
236
235
234
233
231
230
228
226
224
223
221
220
219
217
217
216
215
214
214
213
212
211
210
210
210
209
209
209
208
207
206
205
204
202
200
198
197
196
194
193
191
190
189
187
187
187
187
188
188
188
188
188
188
187
187
186
185
184
183
181
180
178
177
177
176
176
174
174
173
172
172
172
172
171
171
171
170
168
167
165
164
164
163
162
161
161
160
159
158
158
158
158
158
158
158
158
157
157
156
155
154
154
153
152
151
150
148
147
145
145
143
142
141
140
139
137
136
134
133
132
131
131
130
129
128
127
127
126
126
125
125
124
124
123
122
121
121
120
119
118
117
117
115
114
113
112
111
110
110
109
109
108
108
108
107
106
106
106
106
106
106
106
106
105
105
103
103
102
101
100
99
97
96
94
91
89
87
87
87
87
87
88
88
88
88
88
88
87
86
86
85
84
82
81
79
78
77
76
76
75
74
73
72
71
70
69
68
67
66
65
63
63
63
62
62
62
62
62
61
60
60
60
59
59
59
59
59
59
59
59
59
59
58
58
58
58
57
57
57
56
56
56
55
55
55
54
54
54
54
53
52
51
49
47
45
44
43
43
41
41
39
38
37
37
36
35
34
34
34
34
34
34
34
33
33
33
32
31
31
30
30
29
29
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
25
25
25
24
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
25
25
25
25
25
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
30
31
31
31
31
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
35
35
36
36
36
37
37
37
37
38
38
38
39
39
39
40
40
40
41
41
41
42
42
42
42
42
42
43
43
43
43
43
44
44
44
44
44
45
45
45
45
46
46
46
46
46
47
47
47
47
47
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
47
47
46
45
45
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
41
40
38
38
36
35
35
34
34
34
33
33
33
32
32
32
31
31
30
29
28
28
26
25
25
25
25
24
24
24
22
21
21
20
18
17
15
15
15
15
15
15
15
15
15
14
14
14
13
13
12
12
11
9
8
7
6
6
6
6
6
6
6
7
9
11
12
13
14
15
16
18
19
20
20
20
21
21
21
22
22
22
22
23
23
23
24
25
26
26
26
27
29
31
32
33
36
37
40
40
40
40
40
40
40
41
43
43
45
46
46
47
47
47
48
48