413
413
414
417
419
420
422
429
431
433
432
432
433
433
434
434
434
434
434
437
441
441
441
441
443
444
444
444
445
445
445
449
449
449
452
453
455
457
456
459
473
479
480
480
480
480
480
480
489
498
504
507
509
515
518
526
542
544
553
558
563
563
575
574
571
569
569
569
569
571
571
570
560
552
541
534
531
540
543
538
529
526
526
527
544
544
543
539
538
544
550
551
552
552
552
552
552
553
555
555
555
555
555
553
553
553
553
553
554
554
553
553
552
549
547
547
547
541
542
542
543
544
545
546
546
545
545
545
545
545
545
544
544
544
543
544
544
546
547
548
550
551
553
553
553
556
557
558
560
561
562
566
559
555
553
557
557
562
564
565
564
563
561
560
559
558
558
558
558
561
563
564
564
564
564
558
560
561
568
575
578
574
575
576
577
578
579
579
580
580
572
571
570
570
570
570
570
569
568
568
567
566
565
565
563
555
553
552
551
545
541
537
535
533
529
524
523
523
522
517
514
512
513
513
512
511
511
508
506
505
502
501
500
498
495
490
485
483
481
479
477
477
477
476
473
471
470
468
465
463
460
461
461
461
462
462
462
436
418
417
414
413
411
408
408
406
396
394
388
380
369
365
368
369
369
365
361
358
352
351
350
350
350
349
348
347
347
346
346
346
345
344
341
339
337
334
334
334
333
332
332
332
331
330
330
328
327
326
326
326
322
322
322
311
292
281
276
276
273
270
270
268
256
256
234
234
197
197
196
195
185
187
187
187
188
188
188
188
189
189
189
189
189
190
190
190
190
190
191
191
191
191
191
191
191
191
191
194
195
196
197
195
194
193
190
189
188
184
184
184
184
182
182
181
177
176
175
167
164
160
160
160
160
160
150
146
141
139
137
134
132
131
130
128
126
122
121
121
120
119
118
118
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
112
112
111
110
110
110
110
113
114
114
114
115
115
115
115
114
114
113
112
112
112
111
111
111
111
111
108
109
109
109
109
109
109
109
109
109
110
109
108
107
106
107
108
115
120
124
125
129
129
130
130
130
130
130
131
131
131
131
131
132
132
132
132
132
132
132
132
132
132
132
132
132
137
139
140
141
142
148
149
151
159
160
161
169
170
171
178
179
181
203
204
205
205
206
212
215
221
223
226
227
231
231
232
232
233
240
245
246
247
244
242
243
245
249
253
257
268
271
272
272
274
275
275
275
276
277
278
278
278
279
279
279
279
281
281
282
286
289
290
291
296
297
299
299
299
299
300
300
300
300
299
299
299
298
298
298
298
297
297
298
299
300
304
305
307
312
312
314
318
317
316
305
302
297
295
293
290
293
301
302
286
279
277
276
271
266
263
260
258
256
254
244
249
241
239
239
238
237
236
234
226
221
218
217
215
210
208
206
205
203
202
193
192
192
191
190
189
188
186
185
171
164
161
148
148
147
136
133
128
122
121
121
114
107
99
94
90
88
89
90
90
96
110
113
112
108
104
103
103
105
97
94
92
92
92
92
92
92
92
92
94
103
104
104
105
103
102
100
99
95
95
97
102
105
106
107
112
111
111
111
110
106
104
103
103
102
102
95
94
93
84
85
92
91
91
91
90
90
89
89
89
89
89
89
89
88
87
87
91
91
91
91
91
89
89
89
89
89
89
91
91
96
96
96
90
90
90
90
90
90
89
89
89
89
89
87
87
86
84
80
78
77
75
74
73
72
68
68
68
68
68
67
67
67
67
69
69
68
67
70
71
72
73
74
75
76
78
78
78
77
77
77
77
79
80
80
81
81
83
83
85
85
87
89
90
90
90
90
90
90
91
92
92
93
95
97
100
102
102
102
101
101
101
101
101
100
98
97
96
94
93
93
91
87
87
86
85
82
82
81
80
77
76
74
73
71
70
70
68
65
65
65
68
73
74
77
78
81
83
87
92
92
92
86
84
84
85
82
81
80
79
78
78
78
78
78
78
74
71
70
70
70
70
70
69
68
65
65
64
63
61
60
60
59
58
58
58
59
60
61
61
61
61
61
61
61
61
66
68
69
70
72
71
68
68
67
67
66
67
69
71
74
76
82
85
92
95
97
99
102
106
110
117
120
125
130
132
138
140
143
145
147
149
150
160
163
167
172
181
186
197
199
202
202
204
204
205
205
206
207
209
207
204
202
196
189
181
176
172
169
169
166
157
147
140
137
123
120
99
97
95
94
94
90
84
67
68
71
75
76
75
73
70
68
68
68
68
60
79
80
80
82
83
89
93
96
99
107
118
118
118
118
118
118
119
119
120
110
104
99
93
89
86
84
72
70
65
64
63
62
57
59
59
59
59
58
58
58
57
57
56
56
55
55
55
55
55
56
56
56
56
56
56
57
57
57
57
57
57
56
55
53
59
59
56
55
53
53
53
54
55
56
56
56
55
53
52
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
53
53
54
54
55
58
59
59
59
60
60
60
59
58
58
57
56
56
55
53
53
53
52
50
49
49
48
49
54
54
54
54
53
52
48
47
47
49
51
53
54
54
54
54
54
54
54
54
54
54
54
53
53
53
56
57
59
59
52
56
57
57
57
57
57
57
57
57
57
57
58
61
62
63
64
65
67
69
70
69
68
68
67
66
66
66
65
63
61
60
59
57
56
56
57
57
58
59
59
60
58
57
56
56
58
61
62
62
63
63
64
64
63
63
62
61
64
64
64
64
62
60
60
60
59
59
59
59
60
62
62
62
61
61
61
60
60
60
60
58
58
58
58
58
59
59
58
57
57
57
57
57
57
57
57
54
53
54
54
55
55
55
58
59
60
63
63
58
55
55
55
56
56
56
56
62
65
66
59
55
53
53
51
50
50
51
52
53
54
55
56
57
59
63
67
66
66
66
68
69
71
76
79
82
83
84
85
85
84
82
80
80
82
87
88
88
87
86
85
85
85
88
91
91
95
97
99
100
105
107
109
109
105
104
103
101
100
100
90
87
86
80
80
80
80
80
80
80
80
80
79
75
72
68
64
59
59
59
59
59
58
58
58
56
55
54
54
53
53
52
51
51
51
51
52
53
53
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
51
49
47
46
45
45
45
45
45
45
45
49
51
53
56
56
56
57
57
59
55
46
47
47
47
47
47
47
48
49
49
48
45
54
54
54
54
48
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
48
51
49
47
47
46
46
46
46
46
46
46
46
46
46
46
46
45
44
44
43
42
41
41
41
40
39
39
39
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
39
39
39
39
39
39
39
40
40
40
40
40
41
42
42
42
44
44
44
44
44
45
45
45
46
47
47
47
47
47
46
46
46
45
45
45
45
45
46
48
51
57
58
59
58
55
54
53
53
53
53
54
55
58
60
64
71
74
78
81
91
92
94
96
97
98
101
104
106
108
110
111
113
115
117
118
118
118
119
119
117
117
116
115
114
113
113
113
113
113
113
113
113
113
108
107
106
106
105
104
103
103
95
93
91
88
80
71
65
63
63
63
62
57
57
58
59
59
66
66
66
66
67
68
68
69
69
69
69
69
69
69
69
70
72
73
74
75
76
77
79
79
79
78
77
76
76
78
79
83
84
84
84
84
83
83
83
82
87
88
89
92
92
92
102
105
106
108
109
110
116
116
116
116
116
117
117
117
118
119
120
120
120
120
119
118
118
120
120
129
130
133
136
136
136
136
136
134
132
132
131
130
130
130
130
130
130
130
130
130
130
131
131
132
132
132
136
137
140
144
148
158
160
165
169
174
187
197
200
201
202
205
208
212
214
216
222
223
225
230
231
235
236
237
238
240
242
244
247
247
247
247
247
247
247
247
247
247
247
248
248
250
251
252
252
252
252
252
252
252
252
252
246
243
234
227
225
223
222
221
220
217
212
212
216
219
221
223
231
238
239
239
243
244
246
249
249
250
252
253
256
256
257
257
258
258
264
266
266
267
268
268
269
269
269
269
269
269
269
269
270
272
274
276
279
282
284
286
287
287
289
291
292
297
298
300
304
308
318
326
336
338
340
344
345
342
340
339
337
332
330
327
323
318
314
311
307
294
289
284
278
273
270
266
258
258
257
251
250
247
249
255
258
259
260
262
267
267
270
271
272
273
281
283
284
286
287
289
291
293
294
296
298
300
301
303
304
306
307
309
312
317
319
322
330
334
339
341
343
345
351
352
352
352
352
353
353
354
354
354
354
354
354
352
351
349
344
344
344
344
344
344
344
347
350
351
352
352
354
355
356
358
358
359
358
356
353
353
352
352
353
354
356
360
363
364
365
373
375
375
375
375
375
375
375
375
376
379
379
380
383
383
383
383
383
383
386
393
394
397
401
402
403
404
404
405
409
413
419
422
423
424
425
427
428
428
427
426
425
425
425
424
423
423
423
423
423
423
424
424
424
424
424
424
427
429
432
436
438
440
441
442
441
438
438
431
429
427
425
424
421
416
416
416
415
415
413
413
412
412
410
409
409
408
407
407
406
406
407
408
410
411
412
414
414
415
416
417
417
414
413
411
403
401
398
392
392
394
401
402
400
398
396
394
393
392
391
388
386
383
382
382
381
381
380
378
378
378
378
378
379
379
380
380
380
380
379
378
377
377
376
375
374
374
373
373
373
373
373
374
375
376
380
381
382
385
386
387
389
390
391
391
400
406
406
406
405
405
404
404
403
403
403
403
404
405
407
412
414
415
415
418
419
419
420
422
423
424
424
425
430
431
433
435
439
443
444
444
446
452
453
454
454
456
458
459
460
461
467
468
469
470
471
473
474
477
479
481
482
486
488
490
492
492
499
503
504
505
506
506
509
509
510
512
513
515
517
518
519
520
521
522
524
525
525
526
527
528
536
544
548
548
550
551
551
552
550
549
549
547
546
546
545
555
558
565
580
583
585
592
591
589
587
584
583
581
580
578
571
571
570
569
565
563
563
563
564
564
564
564
564
565
565
565
566
566
566
567
569
571
573
574
579
580
581
582
583
585
587
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
590
590
592
592
593
593
599
601
611
623
630
647
648
648
648
648
648
647
647
647
648
650
650
651
652
653
653
653
654
659
661
664
667
668
670
670
670
671
671
673
673
673
676
677
678
682
683
685
686
687
689
697
712
714
714
715
715
717
718
719
720
721
722
722
723
724
729
730
731
755
760
761
773
774
774
776
786
788
789
790
795
800
801
805
808
812
814
815
815
817
818
821
822
824
829
830
832
833
842
847
849
850
850
850
849
847
847
846
844
841
833
830
828
828
827
826
826
825
824
820
817
817
815
814
813
812
810
807
805
804
803
802
798
797
796
795
795
794
793
793
792
792
791
790
786
785
783
782
781
776
774
772
769
752
751
750
749
746
739
737
729
727
725
723
717
703
706
708
709
711
712
714
715
717
718
717
712
711
710
704
701
700
699
698
697
696
689
688
687
687
685
682
679
679
678
678
677
676
676
675
675
675
673
667
665
664
664
663
655
648
639
638
636
631
630
628
626
625
624
623
621
620
620
620
619
617
616
615
613
612
611
610
609
606
603
602
600
600
601
601
602
602
602
603
603
603
603
603
603
603
595
592
589
587
584
580
577
576
576
575
573
572
572
571
567
567
566
566
565
565
564
564
564
565
565
566
566
566
566
567
558
554
550
549
548
547
545
543
532
530
529
529
529
528
528
527
526
524
522
518
512
512
511
511
510
508
508
507
505
494
489
490
491
491
492
492
492
492
493
493
493
493
492
492
489
489
488
487
487
486
481
480
479
477
475
475
474
474
472
471
471
471
470
469
469
471
471
472
474
474
471
462
455
447
444
440
440
440
436
431
429
428
427
427
427
426
425
424
424
424
424
424
424
423
423
423
423
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
420
420
420
420
420
419
418
418
417
417
416
414
411
411
410
410
408
407
404
402
397
396
393
393
392
391
391
388
387
387
386
386
385
385
384
384
384
384
384
385
385
386
386
386
386
386
386
385
384
384
384
382
381
381
381
380
380
381
381
381
381
381
381
381
381
381
382
382
381
381
383
384
384
384
384
384
385
385
385
386
387
388
388
388
388
388
387
387
387
387
386
386
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
386
386
386
386
386
386
386
386
386
386
386
386
386
387
387
390
391
391
392
393
393
393
393
393
392
392
392
390
390
390
390
390
390
390
390
390
394
394
395
395
395
395
395
395
395
395
395
394
393
393
393
393
395
399
403
405
406
408
409
407
405
403
401
401
400
400
398
395
396
396
397
397
397
402
402
405
406
406
407
407
413
415
412
414
414
416
417
417
417
418
419
419
420
420
420
420
420
420
420
420
420
421
429
429
431
432
433
435
442
443
449
453
457
459
460
461
465
466
467
469
469
469
471
471
472
472
472
472
473
473
472
471
471
471
470
455
455
444
443
443
442
442
442
442
442
441
441
440
436
434
433
432
431
430
430
427
427
426
426
426
426
426
427
427
428
428
428
429
430
430
431
431
429
421
419
419
418
417
417
416
417
420
422
422
429
425
424
422
423
436
434
432
431
427
425
424
425
428
429
430
431
431
432
433
433
429
426
424
422
420
419
418
417
415
414
411
409
410
410
413
416
422
425
427
428
429
431
432
433
432
430
430
429
429
428
427
427
426
425
425
424
424
424
424
422
410
409
409
409
410
411
412
413
414
414
414
434
434
434
435
435
438
438
438
439
439
439
438
436
438
439
439
440
441
440
434
430
430
428
426
426
426
426
427
427
430
429
425
423
422
420
419
417
417
417
418
418
419
422
422
422
421
420
420
420
420
420
420
420
422
424
428
429
430
429
427
427
419
419
418
420
421
422
423
423
441
443
441
433
432
433
440
441
440
439
439
437
437
435
434
433
431
431
431
431
431
432
434
437
440
443
443
443
443
446
447
448
449
453
455
457
463
465
465
465
465
465
465
464
464
464
463
462
460
459
459
459
458
457
456
454
451
448
446
446
446
447
447
447
448
448
448
448
450
452
454
457
458
459
466
467
467
467
469
469
471
473
475
473
480
484
484
482
482
481
480
479
477
477
476
476
475
476
476
477
477
477
477
477
477
477
480
482
484
490
491
494
497
513
513
506
502
499
497
494
488
481
483
485
486
487
487
489
490
491
490
490
489
489
489
489
489
490
490
492
493
493
494
495
499
499
501
501
501
503
502
502
501
501
501
501
499
497
497
508
513
513
514
515
515
516
516
517
518
522
524
524
524
524
524
522
522
522
527
528
530
530
531
532
534
535
536
536
537
545
549
551
551
551
552
553
558
560
562
563
567
568
570
570
563
562
560
559
558
556
553
553
552
552
552
552
553
554
555
555
556
557
560
560
559
557
554
553
551
549
545
543
542
542
542
540
539
534
534
533
533
533
533
533
533
533
533
529
526
515
511
509
505
503
501
499
498
497
497
498
498
498
499
499
500
502
502
502
503
503
504
505
506
508
509
509
510
512
513
515
518
522
523
522
522
522
522
520
518
516
516
516
516
516
516
516
516
516
516
519
520
521
522
522
522
523
523
523
523
524
524
526
529
532
535
537
538
540
541
543
546
547
549
552
553
552
551
550
550
550
550
551
553
555
556
557
558
559
561
560
559
557
556
555
554
561
566
571
571
572
570
565
563
562
563
566
568
570
571
573
576
574
572
575
577
579
581
587
585
569
565
568
573
577
584
584
587
589
591
591
589
588
581
578
574
569
570
574
577
575
570
567
569
569
570
572
575
586
589
592
606
616
616
613
611
607
603
605
620
622
624
630
636
622
609
607
604
606
608
612
622
623
625
628
631
635
636
638
643
647
647
645
642
636
626
621
617
614
612
612
612
612
613
614
615
616
619
623
626
633
643
650
647
646
642
640
639
645
648
651
655
661
687
689
683
681
674
671
667
666
665
663
663
665
666
667
668
670
671
672
673
674
676
681
682
685
688
692
703
711
715
719
723
733
738
742
753
752
747
739
737
734
731
728
724
727
731
742
745
748
752
747
743
740
737
734
731
728
718
718
717
717
717
716
716
716
716
718
719
719
721
720
718
716
716
716
716
716
716
716
716
717
718
727
729
733
733
731
729
725
723
724
727
731
731
747
751
757
745
736
732
733
733
734
738
741
744
747
749
755
751
746
741
735
730
730
729
729
729
729
731
735
735
735
735
736
736
736
736
737
737
737
737
737
739
739
740
740
743
743
743
743
744
758
762
764
768
771
771
769
767
764
761
769
779
786
790
797
808
804
800
789
771
774
776
782
785
788
789
786
784
781
784
795
793
790
785
783
784
783
781
779
782
788
792
793
793
794
795
800
816
824
825
825
826
827
829
830
830
832
831
830
829
828
827
826
826
826
827
828
828
829
832
834
834
835
835
836
836
840
842
844
848
853
865
870
883
885
886
888
891
893
894
901
908
912
915
917
920
916
915
914
913
911
911
913
922
926
927
929
930
934
938
939
940
942
944
946
950
952
954
956
959
960
954
959
964
967
970
973
979
980
981
983
984
984
985
986
988
990
991
993
994
994
997
998
1004
1008
1016
1023
1018
1015
1006
1022
1027
1035
1043
1045
1048
1051
1053
1057
1056
1053
1048
1041
1034
1032
1033
1035
1037
1038
1039
1025
1013
1010
1004
1001
1001
999
996
993
990
989
988
988
986
985
984
984
982
982
982
982
982
982
982
982
982
982
982
982
982
982
982
980
979
978
977
977
977
982
984
985
1000
996
995
992
990
981
977
974
970
959
956
955
952
949
947
946
944
942
941
943
943
946
948
949
951
952
953
954
952
950
948
946
944
943
943
943
943
943
942
941
940
939
938
934
932
930
928
927
927
926
925
925
922
922
921
919
919
918
918
917
917
917
916
916
916
916
916
916
915
915
915
915
915
910
908
906
901
896
893
892
892
892
891
890
888
887
886
883
882
879
879
879
883
884
886
889
890
880
872
862
859
856
855
852
846
839
838
838
839
840
842
846
844
833
823
819
815
815
815
815
815
815
815
815
815
815
818
821
823
826
828
831
834
836
837
837
838
838
838
838
838
838
844
862
868
868
865
855
852
850
850
850
850
850
850
852
854
859
863
865
865
865
866
869
870
871
871
871
872
872
875
880
882
885
890
894
899
904
910
915
916
918
920
921
922
922
902
904
909
912
914
923
928
942
943
944
948
947
944
944