0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
3
3
3
6
6
9
14
22
32
44
52
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
66
66
66
66
66
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
67
67
67
67
67
68
70
73
73
73
73
73
73
73
73
73
73
73
73
73
75
75
75
75
80
80
87
90
90
95
102
102
103
105
107
107
110
121
132
132
132
132
132
146
158
172
183
183
184
184
184
192
196
206
217
234
240
262
265
287
287
307
307
307
308
308
308
308
308
309
309
311
312
312
312
312
312
312
312
312
312
312
314
314
314
314
315
315
318
318
321
321
324
329
329
334
339
339
339
339
339
339
339
339
339
339
339
342
342
342
342
343
343
346
346
347
347
351
351
354
359
364
364
364
364
364
364
367
369
372
372
372
372
373
375
379
381
381
381
383
387
387
387
391
394
394
394
394
394
394
394
394
396
396
397
397
400
400
400
400
400
404
409
414
419
419
419
419
419
419
430
445
457
457
464
471
485
496
497
509
524
535
550
560
567
570
585
594
599
599
604
609
613
613
618
623
623
628
633
638
642
647
647
652
657
657
657
657
657
657
658
658
658
658
658
658
658
658
658
658
658
658
659
660
660
660
660
665
670
670
676
682
684
688
698
713
730
753
768
789
789
789
789
789
790
790
790
790
790
790
790
790
790
791
791
791
791
791
791
791
791
791
791
791
791
791
791
792
792
793
793
793
793
793
793
793
793
793
794
794
794
794
795
797
797
799
801
801
801
801
801
801
801
801
802
802
802
802
803
803
803
803
806
806
806
806
806
806
810
810
810
810
810
810
810
812
812
812
816
818
820
820
820
820
820
821
821
821
823
825
826
830
834
834
835
836
836
836
837
837
837
838
838
840
842
844
844
844
844
853
854
863
866
866
875
884
884
885
887
890
890
896
911
922
922
923
923
924
939
951
966
978
979
984
989
994
1003
1010
1021
1032
1051
1060
1085
1092
1117
1131
1151
1151
1151
1154
1154
1154
1154
1154
1156
1156
1158
1159
1159
1159
1159
1159
1159
1159
1159
1159
1159
1161
1161
1161
1161
1162
1162
1165
1165
1169
1169
1174
1179
1179
1184
1189
1189
1189
1189
1189
1189
1189
1189
1190
1190
1190
1193
1193
1196
1196
1197
1197
1201
1201
1205
1205
1209
1211
1214
1219
1224
1224
1224
1224
1224
1226
1229
1232
1237
1237
1237
1237
1238
1241
1245
1250
1250
1250
1253
1258
1258
1260
1265
1270
1270
1270
1270
1270
1270
1270
1270
1273
1273
1274
1274
1277
1277
1277
1277
1277
1281
1286
1291
1296
1296
1296
1296
1296
1296
1307
1322
1334
1334
1341
1350
1365
1377
1380
1392
1407
1418
1433
1443
1450
1456
1471
1481
1486
1486
1491
1496
1500
1500
1505
1510
1510
1515
1520
1525
1529
1534
1534
1539
1544
1544
1546
1547
1547
1547
1548
1548
1548
1552
1554
1555
1556
1556
1556
1556
1556
1556
1557
1558
1558
1564
1572
1582
1588
1588
1598
1604
1616
1626
1636
1649
1663
1682
1695
1711
1712
1712
1715
1715
1717
1718
1721
1721
1721
1722
1726
1726
1726
1727
1727
1727
1727
1727
1731
1733
1733
1733
1733
1735
1738
1742
1747
1750
1753
1754
1754
1754
1754
1754
1757
1758
1761
1761
1762
1766
1770
1775
1780
1782
1782
1785
1787
1787
1788
1788
1790
1791
1791
1792
1793
1795
1800
1804
1807
1807
1807
1812
1815
1816
1816
1816
1820
1822
1826
1826
1828
1828
1830
1830
1830
1834
1839
1844
1849
1854
1856
1859
1864
1869
1874
1879
1879
1884
1888
1893
1898
1903
1907
1909
1912
1915
1920
1925
1926
1926
1931
1933
1938
1943
1948
1956
1965
1977
1979
1991
2000
2011
2016
2025
2037
2046
2052
2058
2070
2080
2095
2107
2122
2134
2142
2152
2165
2177
2192
2204
2219
2231
2238
2252
2262
2270
2281
2293
2307
2316
2328
2342
2363
2384
2405
2421
2438
2438
2438
2443
2443
2444
2444
2444
2449
2449
2454
2459
2464
2468
2468
2469
2471
2476
2478
2478
2478
2481
2481
2481
2481
2484
2484
2489
2489
2493
2493
2498
2503
2508
2513
2518
2518
2518
2521
2524
2524
2524
2526
2528
2528
2528
2531
2531
2534
2534
2537
2537
2541
2541
2546
2546
2551
2556
2559
2564
2569
2569
2569
2571
2575
2580
2583
2588
2593
2598
2603
2608
2613
2618
2623
2628
2631
2636
2641
2646
2651
2656
2661
2666
2667
2670
2673
2678
2683
2688
2693
2698
2703
2708
2708
2713
2715
2716
2720
2725
2730
2735
2740
2745
2749
2752
2757
2762
2767
2778
2793
2805
2808
2815
2829
2844
2856
2868
2880
2895
2910
2923
2938
2952
2966
2981
2996
3001
3001
3006
3011
3016
3018
3023
3028
3032
3037
3042
3047
3052
3057
3062
3067
3072
