107
107
108
108
108
108
105
105
101
102
104
104
104
103
103
103
104
104
106
106
106
106
107
108
109
111
111
111
111
110
109
109
109
108
108
107
106
106
106
106
106
107
107
107
107
108
109
111
112
111
109
106
106
106
106
106
106
106
106
106
107
107
107
107
109
109
109
109
108
109
110
116
120
121
122
122
123
123
123
123
124
124
125
125
125
125
125
124
126
128
128
137
137
137
137
137
142
143
144
145
145
146
147
146
142
139
135
131
128
127
125
124
121
119
118
117
117
117
117
117
118
117
116
115
115
113
113
113
113
113
114
115
117
118
119
119
117
114
113
114
123
124
124
124
124
133
133
134
135
136
137
139
139
138
138
139
138
136
130
128
127
126
125
125
124
124
124
126
125
121
121
124
123
122
121
121
121
122
123
124
124
124
124
124
124
123
123
123
123
123
123
123
124
124
124
125
128
128
128
127
127
128
128
128
127
127
126
124
126
129
129
129
129
129
129
129
129
129
129
131
135
137
137
138
141
143
145
148
153
156
156
155
154
152
152
152
152
152
153
152
150
149
149
148
148
146
140
137
133
134
134
134
134
135
136
136
135
136
138
139
139
139
137
140
141
145
146
148
146
146
148
150
151
153
153
154
154
154
154
147
145
144
143
142
141
140
136
136
136
136
136
136
136
136
136
137
138
139
139
142
143
146
155
156
157
159
161
162
162
163
163
163
163
164
165
165
166
165
158
155
155
159
165
167
168
166
167
168
169
171
173
174
173
170
168
165
165
160
154
153
151
149
144
144
143
143
143
143
143
143
143
144
144
144
144
145
146
146
145
144
144
144
144
143
144
145
144
146
147
152
158
160
155
163
164
163
161
157
159
162
156
153
150
150
148
147
147
147
162
163
160
158
154
157
162
165
160
160
160
160
160
161
162
162
163
165
171
171
166
171
171
167
165
164
161
163
169
164
156
155
155
155
155
155
155
155
157
157
157
160
160
160
158
157
157
157
157
157
157
157
157
162
162
163
166
167
168
169
170
170
169
169
167
169
171
172
175
178
178
178
179
180
180
181
182
182
182
183
183
183
183
183
183
183
183
185
187
187
187
187
187
187
187
187
190
188
187
186
176
176
177
178
179
179
178
175
170
169
169
169
169
169
169
169
170
170
170
170
170
170
170
171
171
169
168
168
168
168
168
170
170
170
170
170
170
170
170
170
170
170
169
168
168
169
169
169
168
168
169
170
170
170
170
170
170
170
174
175
176
178
181
185
191
193
190
185
184
185
188
188
189
194
197
197
198
198
198
198
198
198
199
202
205
210
211
212
212
212
210
205
206
208
211
212
205
210
209
209
209
208
208
207
231
232
232
233
234
235
235
236
237
237
254
254
254
254
252
251
251
250
249
249
249
249
249
249
249
250
253
257
258
260
259
254
252
239
236
236
236
236
236
238
242
246
252
253
251
250
247
246
245
245
244
243
243
243
242
241
239
239
241
240
239
238
237
237
237
244
244
245
247
247
248
248
247
247
245
245
245
245
247
249
250
251
253
254
253
250
249
249
249
249
250
250
252
252
253
253
254
257
257
257
256
256
256
256
256
256
256
256
257
259
260
260
261
261
261
261
260
260
260
260
261
262
262
264
266
266
266
269
269
268
272
272
272
272
272
273
276
277
278
279
280
280
280
283
284
285
285
285
284
284
284
284
284
284
284
284
284
284
287
286
286
290
292
292
291
289
290
292
299
302
305
302
301
301
300
300
300
300
301
302
304
310
312
312
312
311
311
310
308
307
306
306
307
308
310
313
313
313
313
314
314
317
323
329
327
327
325
324
324
324
324
324
324
324
324
323
323
322
324
334
336
336
338
338
336
337
338
339
341
343
344
340
338
338
338
341
348
348
347
348
350
353
355
354
356
357
361
359
361
363
368
366
363
363
362
362
366
368
367
370
374
376
377
380
381
384
386
386
387
387
388
389
389
391
392
395
400
405
424
420
422
431
451
451
445
438
446
457
458
459
459
459
459
459
459
459
459
460
460
460
460
466
470
474
488
487
487
484
481
479
477
479
483
484
484
484
483
483
483
493
499
505
509
517
516
514
510
515
519
523
530
528
526
523
520
517
523
526
521
520
523
526
534
535
536
537
540
542
543
544
555
568
570
571
572
572
571
570
568
567
565
552
545
545
550
553
568
573
577
581
589
589
589
588
590
591
595
595
594
593
591
589
582
582
584
589
593
594
596
628
632
634
625
626
627
631
632
634
635
635
634
634
634
635
636
636
638
639
635
632
623
629
632
634
638
654
664
662
660
655
650
649
648
648
652
656
660
664
678
691
686
685
683
683
682
682
682
682
681
680
679
677
673
673
672
671
670
668
665
663
662
659
659
662
667
670
669
666
664
659
656
657
658
659
659
658
657
655
652
648
645
642
642
642
642
642
640
636
634
634
623
624
627
635
637
639
640
640
641
645
653
653
652
651
650
648
643
640
636
636
636
637
637
637
638
638
635
627
626
624
624
617
613
594
588
594
601
610
615
618
616
614
611
607
603
586
583
581
578
570
566
564
561
558
555
551
549
548
547
547
547
547
547
545
544
543
542
538
534
532
529
534
516
514
515
515
524
526
526
526
527
529
533
535
542
539
537
536
533
529
528
527
526
527
527
527
526
526
525
522
521
522
524
525
526
526
526
525
524
523
520
515
513
512
511
510
509
507
507
505
503
502
502
501
501
500
496
494
491
488
484
483
483
483
483
483
483
484
487
493
494
494
495
497
498
500
501
502
502
502
502
502
502
501
500
499
498
496
495
496
499
509
515
519
523
523
523
523
523
525
528
529
529
529
530
532
539
543
545
547
548
551
553
556
576
576
580
592
594
596
597
606
614
616
618
617
614
619
629
627
625
621
618
620
623
625
629
638
640
641
644
644
643
641
639
639
639
639
639
639
639
653
662
665
665
667
670
671
667
661
656
656
657
658
657
654
652
649
648
650
655
663
659
658
663
674
679
685
692
700
702
703
703
703
703
703
702
704
706
708
713
715
708
709
710
713
714
716
715
715
715
715
715
715
717
723
727
726
723
722
716
719
721
727
740
735
732
727
723
720
718
716
722
736
734
726
730
744
752
759
761
767
767
767
768
773
777
784
793
812
812
814
817
822
826
828
828
828
839
848
845
840
836
821
812
808
807
812
816
820
831
852
889
883
889
895
890
881
890
899
893
876
870
868
864
862
861
861
861
861
861
862
864
866
866
866
867
867
870
879
882
885
881
880
880
879
877
875
875
873
870
868
865
873
870
866
866
867
868
867
865
865
865
873
876
880
876
861
861
864
864
866
866
866
866
867
871
875
877
879
879
878
876
876
875
875
871
869
870
872
872
883
887
894
896
895
893
891
890
890
892
892
892
892
890
890
889
886
886
886
886
886
886
885
884
883
883
882
880
880
879
877
875
872
872
872
874
875
876
876
878
879
874
869
865
862
857
853
844
835
825
816
810
797
783
782
782
785
791
798
810
807
798
785
786
787
786
773
761
754
745
743
742
742
741
741
741
741
741
741
741
741
741
741
738
738
737
735
723
723
719
715
712
709
708
708
709
720
737
738
736
733
710
702
701
701
704
710
708
707
710
719
726
733
741
741
741
740
743
758
755
747
762
764
762
761
761
761
759
755
750
747
752
757
775
787
785
781
778
773
770
765
763
762
763
767
773
781
786
788
790
791
789
787
796
804
812
813
814
814
811
807
805
802
803
811
817
828
844
839
836
832
829
817
813
814
816
817
818
819
819
822
827
832
835
839
841
845
850
851
855
857
859
861
861
862
864
865
868
871
873
877
872
866
862
862
862
862
861
857
856
854
854
856
858
862
881
884
887
886
885
884
883
883
886
888
890
889
888
886
885
886
887
888
891
899
903
906
907
906
919
923
925
925
932
933
935
937
939
943
945
949
948
946
944
940
937
938
926
926
927
928
929
931
934
935
937
937
937
938
939
945
952
955
956
957
957
957
957
957
957
964
968
972
975
980
980
981
984
984
984
984
985
988
993
998
1002
1008
1008
1007
1006
998
998
999
1012
1006
1004
1001
1000
999
998
996
995
987
983
982
981
981
981
982
987
991
990
974
977
978
979
985
991
996
994
990
987
983
971
971
973
980
983
987
985
983
980
979
977
976
974
972
971
970
969
968
967
966
965
964
964
963
962
959
958
956
959
969
973
977
974
972
968
965
962
959
954
954
953
952
952
953
959
961
954
948
935
929
926
925
925
924
923
928
937
942
949
946
944
940
933
927
929
931
934
935
937
931
930
928
926
922
920
918
915
916
919
921
921
920
919
919
918
917
916
916
917
917
917
917
918
918
918
917
917
916
909
903
900
897
880
874
871
852
858
869
873
878
883
898
896
893
889
885
884
883
883
881
878
876
872
863
855
851
850
849
843
844
845
846
847
847
849
849
846
844
841
840
837
835
849
865
883
879
871
868
852
839
837
834
831
825
823
817
812
810
806
800
797
790
790
785
782
781
776
775
776
778
784
791
794
797
804
783
779
776
770
769
768
763
761
760
760
760
760
764
769
772
778
780
782
783
784
784
785
785
785
781
778
769
768
767
769
772
785
792
801
803
799
790
787
785
785
787
789
789
790
795
799
802
803
805
811
820
825
825
824
822
821
822
824
826
827
829
834
837
839
841
846
851
841
836
841
848
851
851
852
853
855
857
860
866
873
881
889
901
899
898
897
895
893
887
881
878
879
881
882
882
883
887
892
897
904
905
904
904
903
902
898
895
901
902
903
904
901
912
917
919
922
925
927
918
912
919
922
925
936
938
939
940
940
946
954
956
956
952
947
956
962
953
950
951
952
954
964
976
972
969
977
968
969
974
981
981
983
983
985
986
988
990
990
994
995
996
997
998
1000
999
997
994
993
990
987
984
979
977
974
977
983
988
986
992
1002
1003
1003
1003
1004
1004
1004
1005
1006
1011
1007
1004
1003
1003
1006
1010
1016
1020
1023
1026
1028
1031
1033
1038
1042
1043
1043
1039
1040
1041
1041
1040
1040
1039
1050
1054
1056
1067
1072
1073
1074
1074
1076
1077
1089
1088
1087
1087
1087
1087
1087
1091
1094
1106
1112
1112
1112
1113
1115
1117
1120
1133
1135
1136
1138
1142
1150
1153
1153
1153
1155
1157
1157
1156
1155
1155
1156
1160
1163
1167
1169
1171
1175
1177
1176
1171
1173
1176
1179
1193
1195
1195
1194
1194
1202
1203
1205
1209
1211
1213
1213
1213
1217
1219
1221
1215
1215
1216
1218
1219
1220
1221
1222
1225
1227
1229
1231
1233
1235
1236
1238
1240
1241
1245
1246
1249
1250
1251
1255
1264
1266
1269
1280
1285
1303
1317
1312
1309
1307
1313
1314
1315
1320
1339
1342
1338
1336
1333
1328
1317
1323
1330
1353
1373
1379
1381
1377
1375
1374
1371
1375
1384
1390
1395
1398
1398
1398
1398
1400
1401
1402
1407
1408
1411
1414
1416
1419
1424
1428
1431
1431
1432
1439
1446
1450
1454
1461
1463
1465
1466
1466
1466
1476
1476
1476
1475
1474
1474
1472
1471
1467
1465
1460
1463
1466
1462
1454
1456
1452
1446
1448
1448
1442
1442
1445
1448
1451
1457
1452
1446
1442
1439
1426
1413
1414
1419
1427
1431
1436
1442
1450
1452
1456
1459
1458
1457
1453
1444
1435
1430
1441
1449
1466
1473
1471
1468
1464
1454
1447
1444
1437
1431
1436
1438
1440
1443
1451
1463
1473
1469
1466
1470
1476
1497
1499
1476
1472
1469
1461
1461
1461
1461
1458
1456
1454
1451
1447
1444
1438
1438
1438
1438
1438
1438
1435
1434
1433
1432
1432
1432
1433
1433
1442
1441
1440
1440
1439
1438
1438
1437
1437
1436
1436
1435
1433
1431
1430
1424
1415
1412
1410
1405
1400
1393
1390
1389
1390
1393
1398
1398
1399
1400
1401
1401
1401
1402
1406
1412
1426
1430
1431
1432
1437
1439
1436
1430
1425
1419
1408
1412
1415
1418
1422
1437
1439
1440
1447
1449
1451
1455
1456
1458
1459
1452
1451
1449
1449
1450
1452
1464
1465
1468
1470
1472
1476
1477