0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
2
4
4
4
5
5
5
5
5
6
7
11
14
21
39
47
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
72
73
73
73
74
77
77
77
77
77
77
77
77
79
79
81
81
81
81
82
83
85
85
85
87
90
90
90
90
90
90
90
90
92
94
97
97
97
97
99
99
99
99
99
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
103
107
111
122
127
127
127
127
127
127
128
132
138
150
155
156
159
166
177
182
187
191
194
201
207
207
208
208
213
217
218
218
221
223
228
246
261
276
295
315
331
343
343
343
344
345
345
345
345
345
345
345
345
346
348
352
356
359
359
361
361
362
364
368
371
376
376
379
379
379
381
381
383
383
383
383
383
383
385
385
386
386
388
388
389
389
391
392
392
392
392
392
392
392
392
392
396
399
399
399
399
399
399
400
400
400
402
403
404
404
404
404
404
406
410
414
417
417
419
419
419
420
420
420
420
420
420
420
420
420
424
426
426
426
426
426
426
426
426
426
426
426
426
426
428
428
428
428
428
428
428
428
428
428
428
428
428
428
431
431
431
434
434
446
453
465
477
484
490
490
502
502
508
520
527
534
546
553
565
565
572
584
584
584
584
589
594
594
594
598
598
602
607
611
616
621
621
621
621
626
631
636
641
641
641
641
641
641
641
641
641
641
641
641
641
643
643
643
643
643
643
643
645
645
645
646
646
646
646
646
647
648
652
655
663
683
691
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
716
717
719
720
720
721
722
724
724
724
726
726
726
726
726
728
728
730
730
730
730
731
732
734
734
735
737
740
740
740
740
740
740
740
740
742
744
747
747
747
747
749
749
749
749
750
751
752
752
752
752
752
752
752
752
752
752
752
752
752
752
752
752
752
752
753
753
753
755
760
764
776
781
781
781
781
781
781
782
786
792
804
809
810
813
820
831
837
842
846
849
856
862
862
863
863
868
872
873
873
876
878
883
902
917
934
955
976
992
1005
1005
1005
1006
1007
1007
1007
1007
1007
1007
1007
1007
1008
1010
1014
1018
1021
1021
1023
1023
1025
1027
1031
1034
1039
1039
1042
1042
1042
1044
1044
1046
1046
1046
1047
1047
1048
1050
1050
1051
1051
1053
1053
1054
1054
1056
1057
1057
1057
1057
1057
1057
1057
1057
1057
1061
1064
1064
1064
1064
1064
1064
1065
1065
1065
1067
1068
1069
1069
1069
1069
1069
1071
1075
1079
1082
1082
1084
1084
1084
1085
1085
1085
1085
1085
1086
1086
1086
1086
1090
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1094
1094
1094
1094
1094
1094
1094
1094
1094
1094
1094
1094
1094
1094
1097
1097
1097
1100
1100
1112
1119
1131
1143
1150
1156
1156
1168
1168
1175
1187
1194
1201
1213
1220
1232
1232
1239
1251
1251
1251
1251
1256
1261
1261
1261
1265
1265
1269
1274
1278
1283
1288
1288
1288
1288
1293
1298
1303
1308
1308
1308
1310
1310
1310
1310
1310
1310
1311
1311
1315
1317
1321
1321
1324
1324
1326
1326
1326
1328
1328
1330
1338
1338
1339
1340
1340
1351
1356
1362
1366
1381
1396
1401
1414
1414
1414
1414
1415
1415
1415
1415
1416
1419
1419
1419
1419
1419
1422
1422
1422
1422
1423
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1424
1429
1432
1434
1437
1437
1439
1441
1444
1444
1445
1448
1450
1450
1452
1452
1456
1459
1462
1462
1464
1466
1468
1470
1473
1473
1477
1480
1483
1485
1488
1492
1495
1497
1500
1500
1504
1507
1510
1511
1511
1513
1516
1518
1519
1519
1523
1526
1529
1529
1529
1531
1531
1532
1533
1533
1536
1539
1542
1542
1542
1543
1543
1543
1546
1546
1550
1552
1555
1557
1562
1565
1576
1582
1582
1582
1582
1582
1582
1582
1582
1593
1604
1609
1621
1627
1639
1651
1657
1668
1674
1686
1697
1703
1705
1706
1714
1726
1732
1733
1738
1745
1757
1763
1783
1796
1811
1831
1850
1868
1886
1886
1886
1890
1893
1896
1896
1896
1896
1896
1896
1896
1899
1902
1907
1912
1915
1915
1917
1921
1926
1929
1934
1937
1942
1942
1945
1945
1948
1952
1952
1955
1955
1958
1962
1962
1964
1966
1966
1967
1967
1969
1970
1971
1972
1977
1980
1980
1980
1980
1980
1980
1980
1982
1987
1992
1995
1995
1995
1995
1995
1995
1996
2000
2005
2010
2013
2016
2018
2018
2021
2026
2029
2034
2039
2042
2047
2050
2055
2059
2062
2062
2062
2065
2070
2073
2076
2081
2086
2091
2094
2094
2094
2094
2094
2094
2094
2097
2099
2099
2099
2099
2103
2106
2106
2106
2106
2107
2108
2108
2108
2111
2111
2111
2111
2113
2113
2116
2116
2116
2119
2119
2129
2141
2153
2165
2177
2187
2187
2198
2198
2210
2222
2233
2244
2255
2267
2279
2279
2291
2303
2303
2303
2303
2308
2313
2313
2313
2317
2317
2321
2326
2330
2335
2340
2340
2340
2340
2345
2350
2355
2360
