0
0
0
0
0
0
0
0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
5
5
8
9
14
15
18
23
26
35
38
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
44
46
46
46
46
46
46
47
47
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
53
57
57
57
57
58
58
58
58
59
59
59
59
59
59
59
59
59
59
61
63
67
72
75
78
78
83
86
91
95
95
95
95
95
95
95
95
95
95
95
97
101
104
105
106
108
113
113
113
113
113
113
113
113
113
114
120
120
122
127
127
127
127
127
127
128
136
147
156
169
181
196
208
210
211
213
216
225
231
242
252
254
263
268
273
273
273
273
273
273
280
299
301
316
325
325
325
325
325
325
325
325
325
325
326
327
327
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
331
334
334
334
334
334
334
338
338
339
339
339
339
339
339
339
341
341
343
345
345
348
353
357
362
363
363
365
368
372
376
380
385
387
392
397
402
402
402
402
404
404
408
409
409
412
415
420
423
427
432
437
440
443
446
449
450
452
453
456
460
461
463
465
470
475
480
482
487
492
495
495
495
495
495
495
498
510
516
519
519
532
546
557
566
574
589
601
613
622
633
644
644
644
648
650
655
655
660
665
670
675
680
685
690
695
695
700
705
710
710
710
710
710
710
711
715
717
718
719
719
719
719
719
719
722
722
725
726
729
731
731
733
737
744
747
748
757
761
765
776
781
793
798
802
802
802
802
802
802
802
802
802
802
802
802
802
802
802
802
802
802
803
803
803
806
808
810
810
811
811
812
812
815
819
822
822
822
822
822
822
822
822
822
822
825
825
827
829
829
832
832
832
834
835
835
837
842
842
842
842
843
843
843
843
845
845
845
845
845
845
845
845
845
845
847
850
854
859
862
865
867
872
876
881
886
886
886
886
886
886
886
889
892
892
895
897
901
904
905
906
909
914
914
914
914
914
914
914
915
915
918
924
925
927
933
934
934
934
934
934
936
945
956
966
980
992
1007
1019
1021
1022
1025
1029
1040
1052
1065
1076
1078
1086
1091
1096
1097
1097
1102
1104
1104
1113
1134
1144
1166
1175
1176
1176
1176
1176
1176
1176
1176
1176
1176
1178
1179
1179
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1183
1186
1186
1186
1186
1187
1187
1191
1191
1192
1192
1192
1192
1192
1192
1192
1194
1194
1196
1199
1200
1203
1208
1212
1217
1218
1218
1220
1223
1227
1231
1235
1240
1243
1248
1253
1258
1259
1259
1259
1262
1263
1268
1270
1271
1275
1279
1284
1287
1292
1297
1302
1305
1308
1311
1314
1315
1317
1318
1321
1325
1327
1330
1332
1337
1342
1347
1349
1354
1359
1362
1362
1362
1362
1362
1362
1365
1377
1388
1393
1393
1406
1420
1431
1441
1451
1466
1478
1490
1500
1512
1524
1529
1529
1533
1535
1540
1540
1545
1550
1555
1560
1565
1570
1575
1580
1580
1585
1590
1595
1595
1595
1595
1595
1595
1596
1600
1602
1603
1604
1604
1604
1604
1604
1604
1607
1607
1610
1611
1614
1616
1616
1618
1624
1633
1637
1638
1650
1655
1659
1671
1676
1688
1693
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1697
1698
1698
1698
1701
1703
1706
1706
1707
1707
1711
1713
1716
1721
1724
1724
1724
1724
1724
1724
1724
1724
1724
1724
1727
1727
1729
1731
1731
1734
1734
1734
1736
1737
1737
1740
1745
1745
1745
1745
1746
1746
1746
1746
1747
1747
1747
1747
1747
1747
1747
1747
1747
1747
1749
1752
1756
1761
1766
1769
1772
1777
1781
1786
1791
1791
1791
1791
1791
1791
1791
1794
1797
1797
1800
1802
1806
1809
1810
1811
1816
1821
1821
1821
1821
1821
1822
1823
1825
1825
1828
1834
1835
1837
1847
1849
1849
1849
1849
1849
1851
1860
1871
1881
1895
1907
1922
1934
1936
1937
1940
1944
1955
1967
1980
1991
1993
2003
2008
2013
2015
2019
2025
2028
2028
2037
2058
2071
2093
2102
2107
2107
2107
2107
2107
2107
2107
2108
2108
2111
2112
2112
2115
2116
2116
2116
2116
2116
2116
2116
2116
2116
2116
2118
2120
2120
2120
2122
2125
2125
2125
2125
2126
2126
2130
2130
2130
2132
2134
2134
2134
2134
2134
2136
2136
2138
2141
2144
2147
2152
2156
2161
2162
2162
2165
2169
2173
2177
2181
2186
2189
2194
2199
2204
2207
2212
2216
2219
2220
2225
2228
2231
2235
2240
2245
2248
2253
2258
2263
2266
2271
2276
2279
2280
2282
2283
2286
2290
2293
2296
2298
2303
2308
2313
2315
2320
2325
2328
2328
2328
2328
2328
2328
2333
2345
2356
2361
2361
2374
2388
2399
2409
2419
2434
2446
2458
2468
2480
2492
2499
2502
2507
2511
2516
2516
2521
2526
2531
2536
2541
2546
2551
2556
2556
2561
2566
2571
2571
2571
2571
2571
2571
2571
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2572
2581
2590
2593
2593
2605
2610
2612
2617
2622
2633
2638
2639
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2644
2647
2647
2647
2647
2647
2647
2648
2649
2651
2653
2653
2653
2657
2661
2664
2666
2670
2674
2678
2679
2682
2685
2689
2694
2698
2703
2708
2713
2716
2718
2718
2719
2721
2726
2726
2727
2727
2729
2729
2732
2737
2742
2743
2744
2744
2745
2745
2745
2749
2750
2754
2754
2754
2754
2754
2754
2754
2754
2755
2757
2759
2762
2767
2768
2772
2777
2782
2786
2790
2793
2798
2803
2808
2812
2815
2820
2823
2826
2830
2833
2837
2838
2840
2841
2842
2845
2848
2849
2850
2853
2853
2858
2859
2861
2870
2871
2882
2889
2898
2907
2917
2917
2918
2923
2925
2926
2931
2942
2951
2966
2978
2993
3005
3018
3028
3043
3058
3071
3083
3096
3107
3108
3117
3122
3127
3130
3135
3144
3146
3154
3159
3177
3195
3216
3222
3229
3231
3235
3236
3241
3241
3243
3248
3250
3253
3256
3258
3263
3266
3271
3276
3281
3281
3281
3281
3284
3286
3286
3288
3291
3295
3298
3302
3305
3308
3308
3312
3315
3318
3322
3325
3328
3333
3338
3338
3338
3342
3343
3345
3350
3352
3355
3358
3363
3368
3373
3378
3383
3388
3393
3398
3400
3404
3406
3411
3414
3419
3424
3429
3432
3437
3442
3445
3449
3454
3459
3463
3467
3472
3477
3480
3485
3490
3495
3498
3503
3508
3511
3516
3521
3526
3531
3536
3541
3546
3550
3554
3559
3564
3567
3572
3577
3580
3583
3585
3588
3592
3595
3607
3619
3631
3641
3646
3659
3674
3685
3695
3705
3720
3732
3744
3754
3766
3778
3790
3795
3800
3804
3809
3814
3819
3824
3829
3834
3839
3844
3849
3854
3854
3859
3864
3869
