0
0
0
0
0
0
0
0
0
0
0
2
2
4
4
7
7
7
7
7
7
7
7
9
9
11
11
13
13
15
19
20
24
26
28
30
30
30
32
32
32
32
32
32
34
34
37
45
50
54
65
71
77
80
86
97
97
99
109
114
121
137
142
163
180
201
214
248
288
307
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
342
343
346
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
350
350
351
351
351
354
354
354
355
357
360
365
368
368
368
368
368
368
368
368
368
369
370
370
370
370
370
371
373
375
377
381
384
384
384
384
384
384
384
384
385
385
385
385
385
385
385
385
387
387
390
390
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
394
394
396
396
396
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
399
399
402
402
402
402
405
406
411
414
415
418
422
422
422
422
422
422
422
422
422
422
422
422
424
425
427
430
435
439
442
445
450
451
452
455
459
463
468
472
475
478
483
485
485
488
490
492
495
495
498
501
504
504
504
504
506
506
509
509
509
510
512
512
513
513
513
513
516
518
518
523
526
526
526
526
526
530
530
530
530
530
531
531
531
531
533
538
538
538
539
542
548
548
551
552
552
557
557
557
557
557
560
561
561
561
561
564
564
565
569
579
582
592
595
603
614
626
626
626
626
627
633
639
639
640
646
655
655
657
658
666
672
681
686
695
707
719
719
725
738
748
760
772
778
793
805
817
819
834
841
843
850
852
857
872
884
895
895
898
902
902
905
907
912
918
929
941
941
941
944
947
947
959
959
970
978
990
993
1000
1003
1025
1042
1042
1042
1042
1042
1042
1042
1042
1069
1095
1114
1142
1164
1195
1226
1248
1275
1292
1321
1351
1370
1370
1370
1386
1416
1435
1439
1448
1457
1483
1500
1538
1571
1608
1660
1705
1751
1793
1793
1793
1793
1793
1796
1796
1796
1796
1796
1796
1796
1796
1799
1799
1799
1802
1802
1803
1803
1803
1805
1810
1812
1812
1812
1815
1815
1815
1815
1815
1817
1817
1817
1817
1817
1817
1818
1818
1818
1818
1819
1819
1820
1820
1820
1822
1822
1822
1822
1822
1822
1822
1824
1824
1824
1827
1827
1827
1827
1827
1827
1828
1828
1828
1828
1831
1831
1831
1831
1831
1831
1834
1834
1834
1837
1837
1838
1838
1838
1841
1841
1841
1841
1841
1841
1842
1842
1842
1842
1843
1843
1843
1843
1843
1843
1843
1843
1846
1846
1846
1846
1846
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1849
1852
1852
1852
1852
1852
1852
1852
1852
1854
1856
1861
1861
1864
1864
1867
1872
1872
1875
1878
1878
1881
1881
1885
1888
1889
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1895
1899
1903
1907
1911
1916
1919
1922
1927
1932
1932
1933
1934
1938
1943
1948
1951
1956
1961
1966
1970
1975
1978
1983
1988
1988
1990
1994
1998
2003
2007
2010
2013
2017
2022
2027
2030
2030
2034
2034
2034
2034
2035
2035
2036
2041
2041
2041
2041
2041
2041
2043
2043
2046
2049
2049
2049
2049
2049
2049
2049
2049
2051
2056
2059
2059
2059
2059
2059
2059
2061
2061
2062
2066
2069
2069
2069
2069
2069
2069
2074
2077
2080
2080
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2087
2092
2097
2097
2102
2105
2108
2113
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2118
2120
2125
2128
2131
2135
2140
2143
2143
2148
2148
2151
2153
2158
2163
2163
2165
2165
2165
2169
2169
2169
2170
2170
2171
2174
2174
2175
2176
2179
2179
2184
2188
2193
2198
2203
2206
2211
2216
2221
2221
2223
2223
2228
2228
2232
2235
2238
2243
2248
2248
2250
2253
2256
2259
2264
2264
2264
2264
2268
2271
2274
2279
2282
2287
2291
2295
2297
2301
2306
2306
2306
2306
2306
2306
2306
2306
2306
2308
2313
2313
2313
2313
2313
2313
2313
2316
2318
2323
2326
2330
2335
2340
2345
2350
2350
2350
2350
2354
2354
2356
2358
2362
2366
2371
2371
2371
2371
2373
2373
2375
2379
2383
2383
2387
2391
2391
2391
2391
2391
2391
2391
2393
2393
2396
2400
2401
2403
2407
2407
2407
2409
2412
2416
2421
2421
2421
2421
2422
2422
2422
2423
2426
2431
2436
2436
2436
2445
2451
2457
2457
2457
2457
2457
2457
2457
2462
2473
2486
2499
2511
2511
2518
2527
2540
2551
2565
2577
2592
2592
2604
2604
2614
2628
2628
2640
2640
2640
2640
2640
2646
2648
2648
2648
2648
2652
2653
2657
2658
2667
2678
2678
2678
2678
2678
2678
2678
2685
2697
2711
2723
2723
2723
2723
2723
2723
2728
2738
2750
2764
2776
2782
2787
2787
2793
2807
2819
2834
2849
2861
2871
2881
2895
2908
2920
2920
2920
2926
2938
2950
2960
2975
2990
3005
3017
3017
3017
3017
3017
3017
3017
3023
3030
3030
3030
3030
3044
3056
3056
3056
3056
3057
3059
3059
3059
3065
3065
3065
3065
3072
3072
3087
3087
3087
3099
3099
3126
3157
3187
3218
3236
3255
3255
3283
3283
3311
3342
3372
3401
3431
3462
3493
3493
3524
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3555
3560
3565
3570
3570
3570
3575
3580
3585
3585
3585
3585
3586
3588
3588
3588
3589
3589
3591
3591
3591
3591
3593
3598
3603
3603
3603
3603
3603
3603
3603
3603
3603
3603
3606
3606
3610
3610
3610
3610
3610
3610
3610
3610
3610
3610
3610
3610
3610
3610
3615
3620
3625
3625
3625
3628
3632
3632
3632
3632
3634
3639
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3644
3645
3645
3645
3645
3647
3647
3652
3652
3657
3662
3662
3662
3662
3662
3662
3662
3662
3662
3665
3669
3669
3669
3669
3672
3676
3676
3676
3678
3678
3681
3686
3686
3686
3686
3701
3716
3716
3716
3726
3726
3736
3751
3761
3776
3791
3791
3791
3791
3806
3821
3836
3851
3851
3851
3856
3861
3866
3871
