542
543
546
546
547
547
547
549
550
547
542
539
536
533
528
527
524
519
514
510
508
502
492
488
484
483
483
479
471
465
454
450
452
452
451
441
434
411
399
394
391
385
384
382
375
373
371
370
368
367
366
366
365
365
357
356
353
351
351
351
351
341
337
330
329
329
328
327
327
326
325
324
322
321
320
318
317
316
315
314
314
314
313
312
311
313
314
316
321
321
320
315
312
310
312
315
315
315
316
316
315
315
314
313
312
306
306
309
311
312
314
316
316
315
313
312
314
316
316
315
314
314
314
314
314
314
314
314
314
315
317
317
320
322
324
323
323
323
324
324
325
325
326
328
328
329
330
331
331
331
331
330
330
330
330
331
332
332
332
333
334
336
336
337
337
339
341
342
343
344
345
346
346
350
350
352
354
355
356
357
357
361
367
370
375
374
373
373
373
372
372
372
372
375
375
376
377
378
378
378
378
375
374
374
373
372
370
369
365
365
373
373
370
381
380
380
379
379
379
378
377
374
372
371
370
369
367
365
363
365
378
379
382
384
385
386
387
389
391
392
392
393
394
394
394
394
394
394
395
396
398
398
400
402
401
400
398
397
396
392
391
391
390
388
387
386
383
383
382
381
380
379
379
378
377
376
376
375
374
373
372
372
372
372
373
374
375
375
377
379
380
385
385
385
382
378
375
367
361
360
358
355
354
354
354
354
353
353
352
352
352
351
351
351
349
349
343
334
332
332
332
332
331
331
329
329
328
328
327
326
325
324
323
323
321
319
319
319
319
319
319
319
319
319
317
316
316
315
314
314
312
312
312
312
312
312
312
312
312
312
313
314
315
315
316
316
317
317
318
318
318
318
318
318
318
318
318
318
319
320
320
321
321
322
322
322
323
323
324
324
324
324
324
323
323
323
323
324
324
325
326
328
329
330
330
331
332
332
332
332
332
332
331
331
330
330
327
326
325
324
323
321
320
319
318
317
317
301
302
304
296
298
305
306
306
307
303
303
302
302
302
304
304
304
301
292
291
290
290
301
302
303
303
302
300
295
294
300
300
300
292
276
275
275
276
277
277
277
277
279
279
279
279
279
279
279
280
280
280
280
279
279
277
276
276
275
275
275
274
272
272
272
272
272
271
271
266
264
260
259
259
258
259
262
265
270
272
280
281
282
283
289
289
290
290
290
290
290
289
289
290
291
296
299
302
302
303
303
303
304
304
303
303
303
302
302
308
310
317
325
322
322
322
322
321
320
319
315
315
315
315
315
314
311
310
309
309
309
308
305
305
305
305
305
306
306
307
307
306
306
305
305
304
304
304
304
304
304
304
304
304
304
305
306
306
307
307
306
306
305
305
305
305
306
307
309
309
309
309
311
312
315
315
315
315
315
315
311
310
310
310
310
310
310
311
311
310
306
305
305
302
300
298
296
294
288
284
284
283
283
283
283
283
283
283
282
280
279
279
279
279
280
280
281
281
282
283
283
283
285
285
278
273
271
267
264
262
258
255
247
244
242
240
237
235
229
226
226
226
226
226
226
226
226
227
229
230
232
238
239
240
240
240
239
238
235
232
225
218
212
209
207
202
198
188
185
183
177
172
171
169
165
162
155
155
144
143
143
141
140
137
136
136
135
134
133
132
128
124
129
137
140
143
144
145
145
146
146
148
149
149
150
150
151
151
153
153
153
153
153
153
153
153
153
142
133
129
127
124
122
117
117
117
117
117
117
112
110
107
106
92
91
89
68
65
62
60
60
60
60
58
58
56
55
57
57
58
59
60
60
62
62
63
63
63
64
64
64
64
63
63
62
61
62
63
64
68
68
68
68
68
68
68
67
66
65
65
64
64
64
63
63
63
63
63
63
63
63
62
61
60
60
60
62
62
63
59
58
57
57
58
59
59
59
58
58
58
58
57
57
57
53
53
54
54
55
55
55
59
60
61
64
64
61
58
57
56
58
59
60
60
60
58
59
60
59
57
53
51
50
51
53
54
55
56
57
57
58
59
61
62
62
64
67
70
71
72
75
77
79
80
81
83
83
84
83
80
79
80
88
92
91
90
87
86
85
86
89
93
97
99
101
103
109
109
109
108
106
106
105
104
103
103
95
93
92
89
88
87
86
86
85
84
83
83
84
84
84
88
89
89
90
91
92
97
95
86
79
82
85
86
87
89
92
93
93
93
93
93
93
93
91
91
90
89
85
82
74
73
73
72
71
67
65
60
58
54
54
54
51
49
48
48
48
44
44
44
44
44
44
49
51
53
54
53
52
51
51
49
47
47
47
47
47
48
48
48
49
48
45
55
55
55
49
42
43
43
44
44
47
46
46
50
68
68
54
48
46
45
45
45
45
45
45
45
45
44
44
44
43
42
40
40
40
40
39
38
38
37
36
36
36
36
36
36
37
37
38
38
38
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
41
51
58
60
62
63
65
67
69
71
72
73
75
77
79
81
82
85
85
85
86
87
88
89
90
91
92
92
92
93
93
94
94
94
94
94
93
92
84
80
80
80
80
80
80
80
80
80
80
80
80
81
81
82
82
82
82
82
84
89
92
94
96
97
96
95
94
92
91
91
91
91
91
92
92
92
92
93
93
94
97
100
102
103
106
108
111
114
119
122
126
134
134
132
130
129
129
128
127
126
125
124
122
121
121
119
119
118
118
118
118
117
116
115
113
111
108
107
107
107
108
108
109
110
110
107
107
107
107
107
108
105
101
96
95
88
86
81
72
65
61
60
57
57
57
57
57
57
58
58
58
65
66
66
67
68
70
72
73
74
74
74
74
74
73
72
72
71
70
71
72
73
74
76
77
79
78
77
77
76
77
79
80
84
85
85
85
84
83
83
83
82
87
88
90
92
92
93
93
101
104
105
108
108
110
115
114
113
113
114
115
115
115
118
119
121
122
122
119
118
117
116
117
118
130
130
132
136
136
136
136
136
134
133
133
133
132
131
130
130
130
130
129
129
129
130
131
131
131
132
132
133
134
135
135
138
139
144
146
148
158
161
166
169
175
189
199
198
198
199
203
208
214
215
216
221
222
225
230
232
235
235
236
237
238
239
240
241
242
244
244
244
244
245
245
246
247
247
249
249
252
253
253
253
253
253
253
253
253
254
255
249
246
239
234
231
230
227
226
224
222
222
222
224
225
226
227
228
230
230
230
233
234
237
241
242
245
247
249
257
259
262
267
269
271
273
272
271
270
270
269
269
269
269
269
269
269
269
270
270
273
275
277
281
284
286
287
287
288
289
292
292
293
293
293
294
294
306
316
328
330
331
333
336
341
341
338
335
329
326
324
321
318
316
310
303
293
289
284
278
274
271
267
260
260
259
254
253
247
248
256
257
260
264
265
267
269
270
272
272
272
273
275
277
278
279
280
281
283
285
286
288
290
292
294
297
299
301
303
306
310
315
317
321
329
335
341
345
347
348
350
350
350
351
351
352
352
353
353
353
353
354
354
352
351
348
345
346
347
348
349
349
351
353
353
354
354
354
355
355
355
355
355
355
355
356
356
356
357
357
358
363
368
369
370
373
374
375
376
376
377
378
379
379
379
379
379
380
382
381
380
380
380
381
389
397
399
402
403
404
404
406
407
408
407
406
418
423
424
424
424
425
425
426
426
426
426
426
426
426
426
426
426
425
425
425
425
425
425
425
425
425
426
428
431
435
437
439
440
439
436
423
420
417
415
414
410
410
410
409
407
407
404
404
404
404
406
406
406
406
406
405
404
404
403
402
401
400
400
399
399
398
398
398
397
397
396
396
396
396
397
397
398
398
392
390
390
391
392
393
393
392
391
389
387
386
387
387
387
388
388
388
385
383
379
375
374
374
375
377
377
379
380
381
381
382
382
382
384
384
384
384
384
384
384
384
385
385
385
385
385
385
385
385
390
391
394
395
400
402
403
403
403
403
403
403
403
403
403
403
405
406
407
414
415
416
416
416
417
417
417
417
418
418
418
419
419
419
419
423
429
430
432
436
437
438
440
440
440
440
440
439
439
439
439
439
439
439
446
448
449
453
456
457
458
460
460
460
460
460
460
460
461
461
461
462
463
463
464
464
464
465
465
466
466
466
467
479
483
488
492
501
502
504
504
505
505
504
504
504
503
502
502
503
505
507
520
526
527
527
528
529
529
529
529
529
535
544
547
553
553
553
551
548
548
547
549
550
553
558
564
565
566
571
574
573
573
572
572
572
571
571
571
571
570
570
569
569
568
568
568
568
568
567
566
566
566
565
565
565
565
566
566
567
567
568
569
569
569
570
570
572
574
580
582
583
584
585
588
590
593
595
593
592
591
590
590
589
589
589
589
589
590
590
590
592
595
595
596
596
604
607
618
627
630
636
635
635
635
635
634
634
634
636
644
645
646
647
648
648
649
649
650
654
655
656
657
658
659
660
661
662
664
676
677
678
683
685
687
687
686
686
686
685
685
689
706
711
713
714
716
717
719
720
721
722
723
724
725
726
731
732
733
750
755
756
770
774
785
785
787
788
790
791
799
804
804
804
804
804
804
805
806
809
811
816
818
821
826
827
829
831
840
846
848
850
850
850
849
848
848
847
845
837
824
823
822
821
821
820
820
819
818
816
813
813
810
809
809
808
806
804
800
799
798
795
790
787
785
782
781
778
777
776
775
774
774
772
769
769
768
768
768
766
761
758
756
752
732
732
732
732
731
730
730
729
727
725
722
717
714
717
718
719
721
722
724
724
724
720
720
718
718
717
715
712
712
711
710
709
708
699
696
694
692
690
687
683
682
682
681
680
677
677
676
675
674
670
666
665
664
660
657
652
651
650
647
642
636
629
628
627
626
624
623
623
623
622
620
619
617
615
614
612
611
609
606
602
600
600
600
601
602
602
605
605
606
607
611
613
616
614
608
595
589
586
582
575
566
557
554
552
550
551
553
555
557
567
573
578
580
578
577
547
547
548
551
552
553
554
555
556
558
563
559
557
556
555
554
553
551
542
538
537
536
536
535
533
531
530
525
521
514
514
510
510
509
507
507
506
504
493
493
493
493
493
493
493
492
492
491
491
491
491
490
489
489
489
488
488
483
482
481
478
473
473
472
470
468
468
468
468
468
468
468
468
468
468
467
464
463
461
457
453
451
441
434
433
428
424
423
423
421
419
419
419
419
419
419
418
418
417
417
416
415
413
409
409
409
409
407
406
404
403
392
391
390
387
387
387
387
387
386
386
386
386
386
385
384
385
385
385
386
386
386
386
386
386
386
385
384
382
381
381
381
380
383
383
383
382
381
381
381
381
381
382
381
382
382
382
382
383
383
384
384
384
384
384
384
384
385
385
386
386
386
386
385
385
385
384
384
384
384
384
384
384
384
384
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
384
384
384
384
385
385
387
387
387
387
387
387
387
387
387
390
392
392
392
392
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
392
392
394
394
395
395
395
396
396
396
396
397
398
398
398
399
400
400
403
404
404
404
404
403
403
403
402
402
402
402
402
402
402
402
402
402
402
402
403
403
403
405
406
406
407
408
410
412
413
413
417
420
420
417
415
413
410
405
403
400
394
393
393
394
394
395
395
396
396
397
398
399
401
403
403
404
405
406
406
405
404
403
402
399
397
397
396
396
395
394
393
393
393
393
393
393
393
393
393
393
394
395
396
396
396
397
399
399
412
412
412
401
399
399
399
399
399
399
399
399
400
396
396
396
399
403
405
405
407
408
409
410
410
410
410
410
407
398
398
398
398
398
398
397
397
397
397
397
397
397
396
396
394
393
394
394
394
393
395
393
393
393
393
393
393
393
395
395
395
396
396
397
397
397
402
402
402
401
401
400
400
398
397
396
395
396
397
399
400
400
401
401
401
401
401
401
401
401
401
403
405
407
409
408
407
406
406
405
405
405
405
397
402
403
405
407
405
405
405
403
403
403
402
402
403
404
405
406
408
411
413
415
417
417
414
409
407
405
404
401
398
397
397
397
397
397
397
398
398
398
397
397
397
396
395
395
395
395
397
398
398
398
398
397
397
397
397
396
396
396
396
396
396
397
397
397
397
397
397
396
397
399
400
399
396
395
394
394
393
393
395
398
398
399
400
400
401
402
402
403
409
409
411
398
398
399
399
399
399
400
400
400
400
400
400
399
399
398
396
395
396
396
397
399
401
401
399
396
394
394
394
399
399
397
397
395
396
397
397
398
398
398
400
404
407
419
433
431
429
428
428
426
428
431
434
431
428
423
423
420
420
420
420
420
420
422
423
424
425
421
418
419
422
422
424
425
427
427
425
425
424
422
421
420
420
420
420
420
421
421
421
420
419
419
418
416
410
410
416
417
417
417
417
417
419
429
431
433
435
437
437
435
433
431
429
432
432
433
433
433
434
438
437
437
432
432
429
427
425
425
427
428
429
434
433
425
423
422
419
418
417
417
418
419
419
420
424
425
426
428
427
426
425
419
417
416
414
417
419
421
421
421
421
421
419
419
418
418
420
421
422
423
427
435
439
441
443
440
439
440
443
446
446
447
445
442
440
437
435
431
432
432
434
436
439
441
443
443
443
443
442
442
442
442
444
444
445
454
458
463
471
470
470
469
469
469
468
467
465
458
454
455
456
458
458
458
457
453
449
447
446
447
447
449
449
450
450
451
451
453
454
454
459
461
462
473
475
471
470
469
469
469
469
474
475
476
476
475
475
471
470
470
468
467
466
466
466
466
466
466
466
466
471
474
476
475
472
472
473
474
474
474
474
474
475
476
478
479
479
480
480
481
482
483
483
483
485
485
485
486
486
487
490
491
492
492
494
498
501
506
514
512
509
509
508
508
505
506
507
509
510
511
513
518
520
522
522
525
525
524
524
522
521
518
515
514
513
513
513
512
512
511
510
509
512
519
522
522
523
524
524
524
525
525
525
525
526
526
526
526
526
525
525
529
536
545
553
554
555
556
557
554
549
544
543
543
547
550
552
554
556
558
562
561
559
557
556
554
557
568
574
573
571
567
569
570
567
566
564
562
560
562
565
569
583
590
595
599
600
601
603
608
611
601
596
590
584
578
590
592
594
579
570
567
570
571
572
574
574
575
576
578
577
571
575
576
581
585
575
586
589
593
605
612
612
610
610
623
639
626
611
609
607
607
610
613
612
612
612
612
611
611
619
620
622
626
629
634
635
635
638
641
640
627
625
624
623
622
621
621
619
619
618
616
616
617
617
618
623
631
636
646
655
648
638
633
629
632
634
649
650
649
648
648
650
654
661
665
677
681
694
693
691
688
683
678
673
671
668
670
671
672
675
676
677
680
681
683
685
688
706
718
724
731
737
737
737
737
738
739
740
741
740
739
738
736
735
732
730
736
739
743
747
754
757
756
754
753
751
750
744
740
738
735
733
722
719
716
716
717
717
718
720
719
716
715
718
720
721
723
725
726
726
724
722
719
719
716
718
720
720
726
726
726
726
726
726
725
723
723
727
728
729
733
732
731
731
731
731
731
731
731
731
731
731
731
731
730
730
730
728
728
728
728
729
729
729
730
730
732
733
735
736
744
748
748
747
747
747
746
746
746
746
747
748
748
748
748
748
748
747
745
743
743
743
743
742
741
740
739
738
737
739
740
741
742
741
739
739
738
737
734
735
737
740
741
743
745
746
746
767
781
783
774
763
765
766
766
765
764
772
781
785
787
792
785
775
771
775
775
774
774
777
778
788
808
802
795
784
775
790
792
789
783
783
785
786
781
780
782
788
791
792
793
794
795
801
816
825
825
825
824
827
828
828
828
827
827
827
828
829
830
831
832
832
833
833
834
835
840
843
844
845
846
847
848
850
852
853
855
858
867
870
886
888
889
891
895
897
898
906
912
915
918
922
915
906
904
903
904
905
906
907
911
911
911
911
911
911
911
911
911
911
913
916
924
927
931
933
939
953
954
955
960
963
967
970
976
978
979
983
984
985
986
988
991
995
997
999
999
999
1000
1001
1005
1007
1011
1009
1007
1006
1004
1009
1011
1013
1020
1022
1027
1015
1008
1000
985
989
989
1006
1015
1023
1027
1005
1009
1010
1015
1019
1019
1020
1020
1020
1021
1025
1034
1048
1057
1053
1046
1038
1030
1034
1041
1054
1045
1041
1023
1013
1009
1003
1002
1002
999
998
996
991
990
988
987
985
985
985
984
983
983
983
982
982
982
982
981
981
981
980
980
980
980
979
978
977
977
977
977
977
983
984
989
996
993
988
985
979
976
973
970
958
955
954
950
948
946
944
942
942
944
948
951
954
955
956
956
955
954
953
952
951
947
943
940
937
937
936
934
936
937
938
938
938
938
938
936
931
925
923
921
919
918
916
916
916
916
916
916
916
916
916
916
916
915
914
914
914
914
912
910
909
908
908
907
902
901
900
897
894
891
890
889
889
889
888
888
885
884
883
882
880
880
882
883
886
887
885
876
869
861
854
847
846
846
845
843
841
840
839
838
837
835
837
840
834
824
820
817
815
813
813
815
816
830
831
833
834
835
836
836
836
837
838
839
839
839
838
838
843
843
852
867
864
860
858
850
848
846
843
845
848
850
852
855
858
861
862
863
863
865
871
873
876
877
875
873
873
871
878
880
884
890
895
900
905
910
915
917
919
919