310
310
310
310
310
310
309
308
307
306
305
304
303
302
302
301
301
300
299
299
299
299
299
299
298
298
298
298
298
298
297
297
297
296
296
296
296
296
296
296
296
295
295
295
294
294
294
293
293
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
293
293
294
294
294
294
294
293
293
293
293
293
294
294
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
294
294
293
293
293
293
293
293
293
293
293
293
292
291
290
289
289
289
289
289
289
289
290
290
290
291
291
291
291
291
292
293
295
296
297
299
299
299
299
299
299
300
300
300
300
300
300
300
300
300
300
301
301
301
301
301
301
301
300
300
300
300
300
300
301
301
301
302
302
302
302
302
302
302
302
302
302
303
303
303
303
303
303
303
303
303
304
304
305
306
307
307
307
306
306
305
305
305
305
305
305
305
305
305
305
306
306
306
306
306
306
306
306
306
306
306
306
306
306
307
307
307
307
307
307
307
307
307
307
307
306
306
306
306
305
305
305
305
305
305
305
305
304
303
302
301
301
300
300
300
300
299
299
299
299
299
299
300
300
301
301
302
302
302
302
302
302
303
303
304
304
304
304
304
304
304
304
304
304
304
305
305
305
305
305
305
305
305
305
305
305
305
305
306
306
306
306
307
307
307
307
307
307
307
307
307
307
307
307
307
308
308
309
309
309
309
309
310
310
310
310
310
311
311
311
312
312
313
313
313
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
315
316
316
317
317
318
318
318
318
318
318
318
318
318
318
318
319
319
319
320
320
321
321
321
321
321
322
322
323
323
324
325
325
325
325
325
325
325
326
326
326
327
327
328
328
328
328
328
328
328
328
328
327
327
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
327
327
327
327
327
328
328
328
328
329
329
329
329
329
329
329
329
329
329
329
330
330
330
330
331
332
333
334
335
336
337
338
338
339
339
340
340
340
340
340
340
340
340
340
340
340
340
340
339
339
339
339
339
340
340
340
340
340
339
339
338
338
338
338
337
337
337
336
336
335
335
335
335
335
335
335
335
335
335
335
335
335
335
336
336
337
338
338
338
338
339
339
339
339
339
339
339
339
339
339
339
339
339
339
340
340
340
341
341
342
342
342
342
342
343
343
344
344
344
344
344
344
344
344
344
344
344
345
345
345
345
345
346
346
347
347
348
348
348
348
348
347
347
347
347
347
348
349
350
351
351
351
351
351
351
351
351
351
351
351
351
351
351
352
352
353
354
354
355
355
355
355
355
355
355
355
355
355
356
357
358
359
360
361
361
361
361
361
361
361
362
363
364
365
366
366
366
366
365
365
364
362
361
361
361
361
361
361
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
361
360
360
360
361
362
363
363
364
364
364
364
364
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
366
367
367
367
368
368
369
369
369
369
369
369
369
369
369
369
369
369
370
370
371
372
372
373
374
375
375
375
375
374
374
374
374
375
376
376
377
378
379
380
380
380
380
380
380
380
380
380
380
379
379
378
378
377
376
375
374
374
374
375
376
377
377
378
379
380
380
381
382
383
383
384
384
384
385
387
389
390
392
392
392
392
391
391
391
391
392
393
394
394
395
395
395
395
395
395
396
396
397
397
397
398
398
399
400
400
400
400
400
399
399
399
399
399
400
400
400
401
402
403
404
405
405
405
405
405
405
405
405
405
405
403
402
400
399
399
399
399
398
398
397
397
397
397
397
397
397
398
398
399
399
399
400
400
400
401
401
402
402
402
403
403
404
404
404
404
404
404
404
405
405
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
408
410
411
413
414
414
414
415
415
416
417
417
418
418
418
418
418
418
418
418
418
419
419
420
420
420
420
420
421
421
421
421
420
420
420
420
421
421
421
420
420
420
421
422
423
423
422
421
421
422
424
425
426
426
426
426
426
426
425
425
425
425
425
425
425
426
428
429
430
431
433
436
438
441
443
445
447
448
449
450
450
450
449
449
449
448
447
446
445
445
447
450
452
455
458
458
458
458
458
458
455
453
451
449
449
449
449
449
449
448
447
447
446
446
446
446
446
446
447
448
449
451
452
452
451
451
450
449
449
451
452
454
455
457
459
459
459
459
458
458
458
458
457
457
457
456
456
456
456
456
456
456
456
456
456
456
456
456
456
454
453
451
449
449
449
449
449
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
451
451
451
451
451
451
451
452
452
452
452
453
453
454
454
455
455
455
456
456
456
457
457
458
458
459
459
459
460
460
461
461
461
462
462
463
463
464
464
465
465
465
465
465
465
465
465
465
465
465
465
465
466
466
466
466
466
467
468
469
469
470
471
472
472
473
474
474
474
474
475
475
475
475
476
476
476
476
477
477
477
478
478
478
479
479
480
480
480
481
481
481
482
482
483
483
483
483
484
484
484
484
485
486
487
487
488
488
489
490
490
491
491
492
492
493
493
494
494
495
495
495
495
495
495
495
495
495
496
496
497
497
498
498
499
499
500
500
500
500
500
500
500
500
500
500
500
500
501
501
502
502
502
502
503
503
504
505
505
506
507
507
508
508
509
510
511
512
513
514
515
517
518
519
520
520
521
521
522
522
523
523
524
524
525
526
527
528
529
530
531
532
533
534
534
535
535
535
536
536
537
537
537
538
538
538
538
538
538
538
538
538
538
538
538
538
539
539
539
539
540
541
542
543
544
545
545
546
547
548
551
553
556
559
561
563
565
566
565
561
560
559
558
557
556
555
555
557
560
561
563
565
567
568
569
570
571
572
574
574
573
572
570
569
568
567
566
565
564
564
563
562
562
561
560
560
559
559
559
559
560
560
560
561
561
561
561
562
563
564
565
567
568
569
570
571
573
574
575
575
575
576
576
577
577
577
578
578
578
579
580
581
582
583
583
584
585
586
587
587
588
589
589
589
589
589
589
589
589
589
589
589
589
590
591
592
593
594
594
595
596
596
596
597
597
597
597
598
598
598
598
599
599
599
599
600
600
600
601
601
602
602
603
604
604
605
605
606
606
607
607
607
607
607
607
607
607
607
607
607
608
610
612
614
616
619
620
622
624
625
625
624
623
622
622
621
619
619
620
624
625
627
628
630
632
634
635
636
637
637
636
636
636
635
635
634
634
633
633
632
631
631
630
630
629
629
628
628
628
628
629
630
630
630
631
631
631
632
632
633
633
633
634
634
635
635
636
637
638
639
640
640
641
642
643
643
644
645
645
646
647
647
647
648
648
648
649
649
649
649
650
650
650
650
651
651
652
652
653
653
654
654
655
656
656
657
657
658
659
659
660
660
661
661
662
662
663
663
664
664
665
665
665
665
666
666
666
666
667
667
667
667
668
668
669
669
670
671
671
672
673
674
675
675
676
677
678
679
680
681
682
683
684
684
685
686
687
689
690
691
692
693
694
695
696
697
698
699
699
699
699
699
699
699
699
699
699
699
699
699
700
701
702
703
703
704
705
706
707
708
709
709
711
712
712
712
712
712
712
712
712
713
713
713
713
713
713
713
714
714
715
715
716
716
717
717
718
719
719
720
721
722
722
723
724
725
726
727
728
728
729
730
731
732
733
734
734
734
735
735
736
736
736
737
737
738
738
738
739
739
739
739
739
739
739
739
739
739
739
739
739
739
739
740
742
743
744
745
746
747
748
749
750
751
752
753
754
755
757
758
760
761
763
765
767
768
769
771
772
774
775
776
777
779
781
782
784
786
787
789
790
791
792
794
795
796
796
796
797
797
797
798
798
798
798
799
799
799
800
802
803
806
807
810
812
813
814
816
818
820
821
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
824
824
825
825
826
826
826
827
827
828
828
829
829
830
830
831
831
832
832
833
833
833
834
834
835
835
836
836
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
838
838
839
840
840
841
842
842
843
844
845
846
846
847
848
848
849
849
850
850
851
851
852
852
853
853
854
854
855
855
855
856
857
857
858
859
859
860
860
861
862
862
863
864
864
865
866
867
868
869
870
871
872
874
876
878
879
880
882
883
884
886
886
886
887
887
888
888
889
889
889
890
890
890
891
892
893
893
894
896
896
897
899
899
900
901
903
904
906
907
908
910
911
912
913
915
916
918
919
920
921
922
922
922
923
924
924
925
925
925
926
926
927
927
927
928
928
928
929
929
929
930
930
930
931
931
932
932
932
933
933
934
934
935
935
936
936
937
938
938
939
939
940
940
941
942
944
946
947
949
950
951
955
957
959
960
961
963
963
965
966
967
969
970
971
972
974
975
977
978
979
980
981
983
984
985
986
987
988
990
990
992
993
994
995
996
997
998
999
1000
1002
1003
1004
1005
1006
1008
1009
1010
1011
1012
1013
1013
1014
1015
1016
1017
1018
1019
1020
1020
1021
1023
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1025
1025
1025
1025
1025
1026
1026
1026
1027
1027
1027
1027
1028
1028
1028
1029
1029
1030
1030
1030
1031
1031
1031
1032
1032
1032
1034
1034
1035
1036
1036
1037
1038
1039
1039
1040
1041
1042
1042
1043
1044
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1055
1055
1055
1054
1054
1054
1051
1050
1046
1041
1038
1035
1032
1030
1029
1029
1028
1028
1027
1027
1026
1025
1025
1025
1025
1025
1025
1025
1025
1026
1026
1027
1028
1029
1031
1032
1033
1034
1035
1036
1037
1038
1039
1039
1040
1040
1041
1042
1042
1043
1043
1044
1045
1045
1046
1046
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1048
1048
1049
1049
1049
1050
1050
1051
1051
1052
1052
1053
1053
1054
1054
1054
1055
1055
1055
1056
1056
1056
1057
1057
1057
1057
1057
1057
1057
1057
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1057
1057
1057
1057
1058
1058
1058
1058
1059
1059
1060
1060
1060
1061
1061
1062
1062
1063
1063
1063
1064
1065
1065
1066
1066
1067
1068
1069
1069
1070
1070
1071
1072
1072
1072
1073
1073
1073
1074
1074
1075
1075
1075
1076
1076
1076
1076
1076
1076
1075
1075
1075
1075
1074
1074
1074
1074
1074
1073
1073
1073
1072
1072
1071
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1070
1071
1071
1071
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1071
1071
1070
1069
1068
1068
1067
1066
1065
1064
1064
1064
1064
1065
1065
1065
1064
1064
1063
1062
1060
1057
1054
1051
1049
1048
1047
1046
1045
1045
1045
1045
1044
1043
1042
1042
1041
1039
1038
1037
1036
1036
1036
1035
1035
1034
1032
1030
1030
1028
1027
1026
1019
1017
1016
1015
1014
1014
1014
1010
1006
1002
1000
996
994
994
994
995
995
995
995
995
995
995
996
996
997
997
997
998
998
999
999
999
1000
1000
1000
1001
1001
1002
1002
1003
1003
1003
1004
1004
1005
1005
1005
1006
1006
1006
1007
1007
1007
1006
1006
1005
1004
1002
1001
1000
999
998
999
999
1000
1001
1001
1001
1002
1002
1003
1003
1003
1002
1001
1001
1000
999
999
998
997
997
998
999
1000
1001
1002
1003
1004
1005
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1017
1018
1018
1019
1020
1021
1021
1022
1023
1023
1024
1024
1025
1026
1027
1028
1028
1029
1030
1030
1030
1030
1031
1031
1031
1031
1032
1032
1032
1032
1032
1032
1032
1031
1031
1031
1030
1030
1030
1029
1029
1027
1024
1022
1021
1019
1018
1017
1016
1015
1014
1012
1011
1009
1004
1003
999
996
995
993
992
992
991
990
990
990
989
990
990
991
991
991
992
992
993
993
994
994
995
995
996
996
996
997
997
998
998
998
999
1000
1000
1000
1001
1001
1001
1001
1001
1001
1001
1002
1002
1002
1002
1002
1002
1002
1002
1002
1001
1001
1000
1000
999
999
998
997
995
993
991
988
988
987
986
986
986
985
985
983
981
980
979
977
977
975
974
973
973
969
967
966
962
958
954
950
947
945
944
941
939
937
934
933
933
933
933
933
933
933
933
933
933
933
933
933
932
931
929
925
922
920
917
916
913
909
905
901
899
897
895
889
887
886
885
882
880
879
876
871
869
867
865
863
861
859
857
855
853
847
843
842
838
836
834
833
831
830
829
827
825
824
823
821
819
820
822
824
826
828
827
826
825
824
823
823
823
823
823
822
819
817
814
812
811
809
808
809
810
811
812
808
803
799
798
794
792
791
789
787
785
783
781
778
769
760
753
748
743
741
737
735
732
730
723
716
709
707
704
699
681
675
671
667
664
663
661
659
656
651
646
640
635
630
628
626
626
627
628
625
618
610
605
604
603
599
594
587
587
586
585
583
582
579
577
574
570
566
567
568
566
561
557
557
557
555
553
549
546
543
540
540
540
543
547
548
542
536
532
531
530
531
532
533
530
527
525
525
525
524
524
523
521
518
514
511
506
502
498
499
500
501
500
499
497
493
489
485
484
485
486
486
484
482
480
479
476
475
474
473
472
471
471
471
471
471
470
468
467
465
464
463
462
461
461
461
461
461
460
459
458
458
457
457
456
456
455
455
455
455
454
454
453
453
452
452
451
449
447
446
444
444
444
444
444
443
442
442
441
440
438
436
435
433
432
430
429
428
428
428
428
428
427
426
425
424
423
422
421
420
419
418
418
417
415
414
413
412
411
409
409
409
409
409
409
408
408
407
406
405
405
404
404
403
402
401
400
400
399
399
398
398
398
397
397
396
396
395
394
393
392
392
392
392
392
390
389
388
387
387
385
385
384
383
382
381
380
380
380
381
381
381
380
379
378
377
376
375
374
373
373
373
373
373
373
373
374
374
374
374
373
373
372
371
370
370
370
370
369
369
368
368
368
368
369
369
369
369
368
368
367
367
367
367
366
366
366
366
366
366
366
366
365
364
364
363
363
362
361
361
361
361
361
361
361
361
361
361
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
363
364
364
365
365
365
365
365
364
364
363
362
360
359
357
355
355
355
355
355
354
354
354
354
353
353
352
352
351
351
351
351
351
351
351
351
351
351
351
351
351
350
349
348
348
347
347
347
347
347
347
347
347
347
347
347
347
347
346
346
345
345
345
344
344
344
344
344
344
344
344
344
344
344
344
344
344
343
343
343
343
343
343
343
342
342
342
341
341
340
340
339
339
339
339
339
339
339
339
339
339
338
338
337
337
337
337
336
336
335
335
335
335
335
335
335
335
335
335
335
335
334
334
334
334
334
334
334
334
334
335
335
335
336
336
337
337
338
338
339
339
339
340
340
340
340
340
340
339
339
339
339
339
339
340
340
340
340
340
339
339
339
339
339
340
340
340
340
339
339
338
337
336
335
335
334
333
332
331
330
330
329
329
329
329
329
329
328
328
327
326
325
324
323
322
320
320
320
321
321
321
320
319
318
317
316
316
315
314
314
314
314
314
314
314
315
315
316
316
316
316
316
316
317
317
317
317
317
317
316
316
316
315
315
315
315
315
315
315
315
315
315
314
314
314
314
314
314
313
313
313
313
313
313
312
312
312
311
311
311
311
310
310
309
308
308
308
308
308
308
308
309
309
309
309
309
309
309
309
309
309
309
309
308
308
308
307
307
306
306
306
306
306
306
306
306
307
307
307
308
308
308
309
309
309
309
309
308
308
307
307
306
305
304
303
302
301
301
301
301
301
301
301
302
303
303
303
303
303
302
302
302
301
301
300
299
299
298
298
297
297
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
295
295
295
294
294
294
293
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
291
291
291
291
291
290
290
290
290
290
290
290
290
290
290
290
291
291
292
293
293
293
293
293
293
293
293
293
293
293
294
294
294
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
294
294
294
293
293
293
293
293
293
293
294
294
294
294
294
294
294
293
293
293
293
293
293
293
293
293
292
292
292
292
292
291
291
291
291
291
291
291
291
291
292
292
293
293
294
294
294
295
295
295
296
296
296
296
296
296
296
296
297
297
297
298
298
298
298
298
298
299
299
299
299
299
299
300
300
301
302
302
303
303
304
305
306
306
307
308
308
309
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310