0
0
1
1
1
1
1
1
2
3
3
3
3
4
5
5
8
21
32
40
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
54
54
56
56
56
56
56
56
56
57
58
58
59
59
60
60
60
60
60
62
62
62
62
62
62
62
63
63
63
63
67
67
70
70
70
73
78
78
78
78
78
78
80
88
100
100
100
100
100
109
115
119
124
124
125
130
135
135
135
140
141
151
158
169
176
186
192
214
214
233
242
249
267
267
267
267
267
267
267
267
267
267
267
267
271
271
271
273
273
277
279
279
279
279
282
282
282
282
282
282
282
283
284
284
284
284
284
284
284
284
284
284
284
284
285
285
285
288
288
292
296
296
296
296
298
298
298
298
298
298
298
301
304
304
304
304
304
304
306
309
312
312
312
315
320
321
321
323
326
327
330
333
336
336
336
336
336
336
336
336
336
336
336
336
337
337
337
337
338
338
338
338
338
338
338
341
341
341
343
347
349
352
356
358
359
364
368
368
368
369
369
369
369
369
370
374
378
383
383
383
387
387
388
398
410
422
431
436
446
458
473
485
489
493
504
518
529
540
554
556
556
556
558
567
578
589
589
601
608
613
617
622
623
628
633
637
639
643
647
650
650
653
654
658
663
668
670
674
678
682
686
691
696
701
701
706
711
714
717
722
727
732
737
741
746
751
751
756
761
766
766
767
767
767
767
767
767
768
769
769
769
769
770
772
772
776
787
796
802
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
808
809
809
809
809
809
809
809
809
809
809
809
810
810
810
810
810
810
810
810
810
810
810
810
810
810
811
811
811
814
814
816
816
816
816
816
816
816
817
818
818
819
819
820
820
820
820
820
822
822
822
822
822
822
822
823
823
823
823
827
827
830
830
830
833
838
838
838
838
838
838
840
848
860
860
860
860
860
870
881
889
897
899
901
906
911
912
912
917
918
923
928
940
945
953
961
983
986
1008
1018
1024
1035
1035
1035
1035
1035
1035
1035
1035
1035
1035
1035
1035
1039
1039
1039
1041
1041
1045
1047
1047
1047
1047
1050
1050
1050
1050
1050
1050
1050
1051
1052
1052
1052
1052
1052
1052
1052
1052
1052
1052
1052
1052
1055
1055
1055
1058
1058
1062
1067
1067
1067
1067
1069
1069
1069
1069
1069
1069
1069
1072
1075
1075
1075
1075
1075
1075
1077
1080
1083
1083
1083
1086
1091
1092
1092
1094
1097
1098
1101
1104
1107
1107
1107
1107
1107
1107
1107
1107
1107
1107
1108
1108
1109
1109
1110
1110
1111
1111
1111
1111
1111
1111
1111
1114
1114
1114
1116
1120
1122
1125
1129
1131
1132
1137
1141
1141
1141
1142
1142
1142
1142
1142
1143
1147
1151
1156
1156
1156
1160
1160
1160
1170
1182
1194
1203
1208
1212
1224
1239
1251
1255
1259
1268
1282
1293
1304
1318
1321
1321
1321
1327
1337
1348
1360
1360
1370
1375
1380
1384
1389
1390
1395
1400
1404
1406
1411
1415
1418
1418
1421
1422
1426
1431
1436
1438
1442
1446
1450
1454
1459
1464
1469
1469
1474
1479
1482
1485
1490
1495
1500
1505
1510
1515
1520
1520
1525
1530
1535
1535
1536
1536
1536
1536
1536
1536
1537
1538
1538
1538
1538
1538
1539
1539
1542
1556
1566
1571
1579
1579
1579
1579
1579
1579
1579
1579
1579
1579
1579
1579
1579
1579
1580
1580
1580
1580
1580
1580
1581
1581
1581
1581
1581
1581
1581
1581
1581
1581
1581
1582
1582
1582
1582
1582
1582
1582
1582
1582
1582
1582
1582
1582
1582
1583
1583
1583
1586
1586
1588
1589
1589
1590
1590
1591
1591
1592
1593
1593
1593
1594
1595
1595
1596
1597
1599
1601
1601
1601
1601
1601
1601
1601
1602
1602
1602
1602
1602
1602
1605
1605
1612
1615
1620
1620
1620
1622
1622
1632
1643
1650
1661
1661
1661
1661
1665
1674
1684
1690
1696
1698
1699
1703
1708
1708
1708
1709
1709
1718
1725
1733
1736
1746
1756
1779
1796
1819
1829
1836
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1853
1853
1853
1857
1858
1862
1864
1866
1868
1868
1871
1871
1871
1871
1871
1871
1871
1871
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1876
1876
1876
1880
1880
1884
1889
1889
1889
1891
1894
1894
1894
1894
1894
1895
1895
1899
1901
1904
1908
1909
1913
1916
1919
1923
1927
1929
1932
1936
1940
1943
1945
1947
1950
1951
1952
1956
1959
1959
1960
1960
1960
1960
1960
1960
1961
1961
1963
1965
1968
1968
1969
1970
1970
1971
1971
1974
1978
1978
1982
1987
1989
1992
1993
1996
1997
2001
2002
2002
2003
2008
2009
2013
2013
2015
2015
2018
2019
2019
2020
2025
2030
2034
2035
2035
2039
2043
2043
2053
2066
2072
2082
2087
2096
2108
2122
2134
2136
2138
2149
2163
2174
2183
2195
2202
2212
2221
2234
2245
2256
2267
2269
2281
2287
2292
2296
2301
2302
2307
2312
2316
2318
2323
2325
2328
2328
2331
2332
2336
2341
2346
2350
2354
2358
2362
2366
2370
2375
2380
2380
2385
2390
2394
2399
2404
2409
2414
2419
2424
2429
2434
2434
2439
2444
2449
