0
0
0
1
1
2
2
2
2
3
3
4
5
6
7
8
8
9
10
11
12
13
13
14
15
16
17
18
19
20
21
22
23
24
25
26
29
29
29
30
30
32
35
35
38
39
40
41
42
46
49
53
57
62
67
71
77
80
83
86
98
112
125
132
147
161
169
195
223
251
291
291
291
291
291
291
291
291
291
291
292
292
292
292
292
292
292
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
294
294
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
296
296
296
296
296
296
296
297
297
297
297
297
297
298
298
298
298
298
298
299
300
300
300
300
300
300
300
300
300
300
300
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
304
304
305
305
306
306
306
307
308
309
309
309
309
309
309
309
309
310
311
311
312
312
312
312
313
314
315
315
316
317
317
317
317
317
317
317
317
318
319
320
321
322
322
323
324
325
326
326
327
328
329
330
330
331
332
333
334
334
335
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
338
338
338
341
341
343
343
343
344
344
346
346
346
346
346
347
347
347
347
347
347
347
347
347
347
347
347
347
348
350
350
350
350
352
352
357
357
362
366
366
366
366
369
369
372
372
372
376
381
383
383
384
385
387
391
395
397
401
406
406
406
406
406
406
407
410
412
415
420
420
420
420
421
424
425
428
431
435
440
442
442
445
445
448
449
452
455
459
464
464
464
464
465
467
467
467
467
471
472
472
481
489
496
511
513
520
527
537
549
549
555
559
570
584
584
590
591
599
613
613
616
625
634
648
648
651
658
669
683
686
686
692
694
705
735
756
782
807
835
866
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
889
890
890
890
890
890
890
890
890
890
890
890
890
890
890
891
891
891
891
892
892
892
892
892
892
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
893
894
894
894
894
894
894
894
894
894
894
895
895
895
895
895
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
897
898
898
898
898
898
898
899
900
901
902
902
902
902
902
902
902
902
902
903
904
905
905
905
905
905
906
906
906
906
907
907
907
907
907
907
908
908
908
908
909
909
909
909
909
910
911
911
911
911
912
912
912
912
912
912
912
912
913
913
913
913
913
913
913
913
913
913
913
913
913
913
914
914
914
914
914
914
914
914
914
914
914
914
914
915
916
916
916
916
916
916
917
918
918
919
920
920
920
920
920
920
921
922
922
923
924
924
924
924
924
924
925
926
926
927
928
928
928
929
930
930
930
930
930
930
931
931
931
931
931
931
931
931
931
932
932
932
932
932
933
933
933
933
933
933
933
933
933
933
933
933
934
935
936
937
938
938
938
938
938
938
938
938
938
938
939
939
939
940
940
940
940
940
940
940
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
942
943
943
943
943
944
944
944
944
944
944
945
945
945
945
945
945
945
945
945
945
945
945
945
945
947
947
949
949
953
957
957
957
957
958
960
960
962
965
965
969
969
971
974
974
978
978
978
979
979
981
981
981
981
981
981
981
981
981
983
986
986
989
989
990
994
994
997
1002
1007
1012
1012
1015
1020
1025
1030
1031
1031
1031
1032
1035
1035
1035
1035
1035
1035
1037
1037
1041
1045
1045
1045
1045
1047
1051
1051
1051
1051
1055
1059
1059
1059
1059
1061
1064
1064
1064
1064
1064
1064
1067
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1076
1076
1079
1079
1079
1083
1090
1105
1115
1130
1145
1155
1167
1172
1184
1196
1201
1216
1230
1245
1259
1274
1284
1299
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1314
1315
1316
1316
1316
1316
1317
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1318
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1320
1321
1321
1321
1321
1321
1321
1321
1321
1321
1321
1321
1321
1321
1321
1322
1323
1323
1323
1323
1323
1323
1324
1325
1325
1325
1325
1325
1325
1325
1325
1325
1325
1325
1326
1326
1326
1326
1326
1327
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1329
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1331
1332
1332
1336
1336
1340
1344
1344
1348
1352
1356
1360
1364
1368
1372
1377
1377
1382
1387
1391
1395
1399
1403
1404
1405
1406
1407
1408
1409
1410
1410
1410
1411
1411
1412
1412
1412
1412
1413
1413
1414
1415
1416
1417
1418
1418
1419
1420
1421
1422
1423
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1439
1441
1444
1445
1449
1454
1459
1464
1469
1473
1477
1482
1486
1491
1496
1499
1504
1509
1514
1519
1525
1530
1538
1549
1564
1579
1594
1605
1620
1635
1641
1667
1695
1723
1764
1764
1764
1764
1764
1764
1764
1764
1764
1764
1765
1765
1765
1765
1765
1765
1765
1766
1766
1766
1766
1766
1766
1766
1766
1767
1767
1767
1767
1767
1767
1767
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1769
1769
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1770
1771
1771
1771
1771
1771
1771
1771
1772
1772
1772
1772
1772
1772
1773
1773
1773
1773
1773
1773
1774
1775
1775
1775
1775
1775
1776
1776
1777
1778
1779
1780
1781
1781
1781
1782
1783
1783
1784
1785
1786
1787
1787
1787
1788
1789
1790
1790
1791
1792
1793
1794
1795
1795
1795
1796
1797
1798
1799
1800
1801
1802
1803
1803
1804
1804
1805
1805
1806
1807
1807
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1820
1821
1821
1821
1821
1821
1821
1821
1821
1822
1823
1823
1823
1823
1824
1824
1825
1826
1826
1827
1827
1828
1828
1828
1829
1830
1831
1831
1831
1831
1831
1831
1831
1831
1832
1833
1833
1834
1834
1834
1834
1835
1836
1837
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1877
1878
1878
1879
1880
1880
1883
1883
1883
1883
1885
1889
1889
1891
1891
1892
1894
1894
1898
1898
1898
1898
1898
1900
1901
1904
1906
1907
1909
1910
1913
1916
1916
1916
1916
1916
1919
1924
1926
1929
1932
1937
1942
1947
1950
1955
1960
1960
1960
1960
1963
1967
1971
1976
1978
1983
1988
1990
1991
1993
1995
2000
2005
2010
2014
2019
2024
2026
2029
2034
2039
2044
2049
2054
2057
2062
2067
2071
2075
2079
2084
2088
2093
2098
2103
2108
2113
2118
2122
2127
2131
2135
2140
2145
2150
2155
2160
2161
2164
2166
2169
2173
2178
2180
2183
2188
2192
2192
2201
2209
2215
2230
2232
2238
2250
2262
2274
2274
2280
2285
2296
2310
2310
2320
2333
2348
2363
2373
2388
2403
2418
2433
2448
2463
2478
2493
2508
2513
2523
2537
2551
2563
2594
2616
2643
2674
2704
2735
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2763
2764
2764
2764
2764
2764
2765
2765
2765
2765
2765
2765
2765
2765
2766
2766
2766
2766
2766
2767
2767
2767
2767
2767
2767
2767
2767
2767
2767
2767
2767
2768
2768
2768
2768
2768
2769
2770
2771
2771
2772
2772
2773
2774
2775
2775
2775
2775
2775
2776
2776
2776
2776
2776
2776
2777
2777
2777
2777
2777
2777
2777
2778
2778
2778
2778
2778
2779
2780
2781
2781
2781
2781
2782
2782
2782
2782
2782
2782
2782
2782
2782
2782
2782
2782
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2784
2784
2784
2784
2784
2784
2784
2785
2785
2785
2785
2785
2786
2786
2786
2786
2787
2788
2789
2789
2790
2790
2791
2791
2792
2793
2793
2794
2795
2796
2797
2797
2797
2797
2797
2797
2797
2797
2797
2798
2799
2799
2799
2799
2799
2800
2801
2802
2803
2804
2804
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2814
2815
2816
2817
2817
2818
2819
2820
2821
2822
2822
2823
2824
2825
2826
2827
2827
2828
2828
2828
2829
2830
2831
2832
2833
2834
2834
2835
2835
2836
2837
2838
2839
2839
2839
2840
2841
2842
2843
2843
2843
2844
2845
2846
2847
2848
2849
2850
2850
2850
2850
2851
2852
2853
2853
2854
2854
2854
2855
2855
2855
2855
2856
2857
2857
2858
2859
2860
2861
2862
2863
2863
2864
2865
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2883
2884
2885
2886
2887
2888
2889
2889
2889
2890
2891
2892
2893
2894
2895
2896
2896
2897
2898
2899
2899
2899
2900
2901
2902
2903
2904
2905
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2945
2946
2946
2947
2948
2948
2948
2948
2948
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2968
2968
2968
2969
2970
2970
2971
2972
2973
2974
2975
2975
2976
2976
2976
2976
2977
2978
2979
2980
2981
2981
2981
2982
2983
2984
2985
2986
2987
2988
2988
2988
2991
2991
2991
2991
2991
2994
2994
2996
3000
3000
3004
3004
3009
3013
3013
3017
3017
3020
3024
3024
3028
3033
3033
3038
3041
3046
3051
3056
3061
3063
3067
3071
3071
3075
3076
3078
3080
3082
3083
3083
3083
3083
3086
3091
3091
3095
3099
3104
3109
3113
3118
3123
3128
3133
3137
3142
3147
3152
3157
3159
3163
3168
3173
3178
3181
3183
3183
3185
3187
3192
3197
3202
3207
3211
3216
3221
3225
3230
3234
3239
3244
3249
3254
3257
3262
3267
3272
3276
3276
3276
3276
3276
3276
3281
3286
3286
3286
3286
3289
3293
3293
3293
3297
3297
3297
3297
3302
3302
3307
3307
3307
3311
3323
3337
3352
3367
3382
3397
3409
3421
3433
3445
3457
3472
3486
3501
3516
3531
3546
3561
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3576
3577
3578
3578
3578
3578
3579
3580
3580
3580
3580
3580
3580
3580
3580
3581
3582
3582
3582
3583
3584
3585
3585
3585
3586
3587
3588
3588
3588
3589
3589
3590
3590
3590
3590
3590
3591
3592
3592
3592
3592
3592
3593
3593
3594
3594
3594
3595
3595
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3596
3597
3598
3599
3599
3599
3600
3601
3601
3601
3601
3602
3603
3603
3603
3603
3604
3605
3606
3606
3606
3606
3606
3607
3608
3609
3609
3609
3609
3610
3611
3611
3611
3612
3612
3612
3613
3614
3614
3615
3615
3616
3617
3617
3617
3617
3617
3617
3617
3617
3617
3618
3619
3620
3620
3620
3620
3621
3622
3622
3622
3623
3623
3623
3624
3624
3624
3625
3625
3626
3627
3627
3631
3631
3635
3639
3639
3643
3648
3652
3656
3660
3665
3670
3675
3675
3680
3685
3690
3695
3700
3705
3706
3707
3708
3709
3710
3711
3712
