0
0
0
1
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
7
8
8
8
10
11
11
11
11
14
17
21
21
25
35
47
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
73
74
75
76
77
78
78
78
78
78
78
78
79
80
81
82
83
84
84
84
84
84
84
84
84
84
84
84
87
87
87
87
87
92
92
92
92
92
94
98
103
107
108
109
114
117
117
120
125
130
131
132
135
138
150
164
179
189
199
207
207
207
207
207
207
207
207
207
207
208
208
209
209
209
210
211
211
211
212
213
213
213
213
213
213
213
213
213
213
213
213
213
213
214
214
215
215
215
216
217
217
217
218
219
219
219
220
221
221
221
221
221
221
221
221
222
222
222
222
222
222
223
224
225
226
226
226
226
226
226
226
226
226
227
228
228
228
228
228
228
228
228
228
228
233
236
240
244
249
254
259
264
269
274
279
283
284
288
289
290
290
290
291
292
293
294
295
296
296
297
298
299
299
299
300
300
300
300
300
300
300
300
300
300
301
302
303
304
305
306
306
307
307
307
309
310
310
310
310
313
316
320
320
324
334
346
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
370
370
370
370
370
370
371
372
372
372
372
372
372
372
372
372
372
372
372
372
372
373
373
373
373
373
373
373
373
373
373
374
374
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
381
381
381
381
381
381
382
383
384
385
386
387
387
387
387
387
387
387
387
387
387
387
390
390
390
390
390
395
395
395
395
395
397
401
406
411
412
413
418
421
421
424
429
434
435
436
441
445
457
472
486
496
507
519
519
519
519
519
519
519
519
519
519
520
520
521
521
521
522
523
523
523
524
525
525
525
525
525
525
525
525
525
525
525
525
525
525
526
526
527
527
527
528
529
529
529
530
531
531
531
532
533
533
533
533
533
533
533
533
534
534
534
534
535
536
537
538
539
540
540
540
541
542
542
542
542
542
543
544
544
544
544
544
544
544
544
544
544
549
552
556
560
565
570
575
580
585
590
595
599
600
604
605
606
606
606
607
608
609
610
611
612
612
613
614
615
615
615
616
616
616
616
616
616
616
616
616
616
617
618
619
620
621
622
622
623
623
623
625
626
626
626
626
629
632
636
636
640
650
662
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
685
686
686
686
686
686
686
686
687
688
688
688
688
688
688
688
688
688
688
688
688
688
688
689
689
689
689
689
689
689
689
689
689
690
690
691
691
691
691
691
691
691
691
691
691
691
691
691
691
691
692
693
694
695
696
697
697
697
697
697
697
697
698
699
700
701
702
703
703
703
703
703
703
703
703
703
703
703
706
706
706
706
706
711
711
711
711
711
712
716
721
725
726
727
732
735
735
738
743
748
749
750
755
759
771
786
801
811
822
834
834
834
834
834
834
834
834
834
834
835
835
836
836
836
837
838
838
838
839
840
840
840
840
840
840
840
840
840
840
840
840
840
840
841
841
842
842
842
843
844
844
844
845
846
846
846
847
848
848
848
848
848
848
848
848
849
849
850
850
851
852
853
854
855
856
857
857
858
859
859
859
859
859
860
861
861
861
861
861
861
861
861
862
863
868
871
875
879
884
889
894
899
904
909
914
918
919
923
924
925
925
925
926
927
928
929
930
931
931
932
933
934
934
934
935
935
935
935
936
936
936
936
936
937
938
939
940
941
942
943
943
944
944
946
948
949
951
956
959
964
968
972
985
1000
1011
1023
1048
1048
1048
1048
1048
1048
1048
1048
1048
1048
1048
1049
1049
1049
1049
1049
1050
1050
1051
1051
1052
1052
1052
1052
1053
1054
1055
1055
1055
1055
1055
1055
1055
1055
1055
1055
1055
1056
1056
1057
1058
1058
1058
1058
1058
1058
1058
1059
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1068
1068
1069
1070
1071
1072
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1081
1081
1082
1082
1082
1083
1084
1085
1086
1087
1088
1089
1089
1089
1090
1091
1091
1091
1091
1091
1091
1095
1095
1095
1095
1095
1100
1105
1108
1113
1116
1121
1126
1131
1136
1139
1144
1149
1152
1155
1160
1165
1170
1174
1179
1184
1188
1202
1217
1232
1244
1256
1268
1268
1268
1268
1268
1268
1268
1268
1268
1268
1269
1269
1270
1270
1270
1271
1272
1272
1272
1273
1274
1274
1274
1275
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1277
1277
1278
1278
1278
1279
1280
1280
1280
1281
1282
1282
1282
1283
1284
1284
1285
1285
1285
1286
1286
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1300
1300
1300
1301
1302
1303
1303
1304
1304
1304
1304
1304
1305
1306
1307
1312
1317
1322
1327
1332
1337
1342
1347
1352
1357
1362
1366
1370
1375
1376
1377
1377
1377
1378
1379
1380
1381
1382
1383
1383
1384
1385
1386
