0
0
0
1
1
2
3
4
4
5
5
6
7
8
8
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
29
29
29
30
33
36
36
40
41
41
41
43
45
47
50
55
58
62
67
70
73
79
80
91
101
106
118
130
142
148
173
204
224
252
252
252
252
252
252
252
252
252
252
252
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
256
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
259
259
260
261
261
261
261
261
262
262
262
262
262
262
262
262
262
263
263
263
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
265
265
265
265
265
265
265
265
266
267
267
267
267
267
267
267
268
269
269
270
271
272
273
274
275
276
276
276
276
276
276
276
276
276
276
276
277
277
277
278
279
280
280
281
281
281
281
281
281
282
282
283
283
284
284
284
284
284
284
284
285
286
287
287
288
288
289
290
290
291
291
291
292
292
293
293
294
294
294
294
294
295
296
297
298
299
299
299
299
299
299
299
299
299
299
299
300
302
302
304
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
307
307
308
308
311
315
317
322
326
331
331
331
332
332
334
337
337
340
340
341
341
342
345
348
350
350
353
353
354
354
355
355
355
355
357
359
360
360
361
364
367
367
367
372
376
381
381
384
384
384
384
384
384
389
391
394
394
398
398
398
398
402
404
407
409
413
418
421
425
429
429
432
440
454
466
469
469
475
486
489
492
498
501
506
509
509
518
532
544
549
549
562
565
572
580
594
601
605
611
623
629
637
642
655
667
698
720
751
777
806
824
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
850
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
851
852
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
853
854
855
856
856
856
856
857
857
857
857
857
857
857
857
857
857
857
858
858
859
859
859
859
859
859
860
860
861
861
861
861
861
861
862
863
864
864
864
864
865
866
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
868
868
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
870
870
870
871
872
872
873
873
873
874
875
875
876
876
876
876
877
877
878
878
879
879
879
879
879
879
879
879
879
879
880
880
881
881
881
881
881
881
881
881
881
881
881
881
881
881
881
881
881
881
881
882
882
882
882
883
884
884
885
885
885
885
885
885
885
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
886
887
888
888
889
890
891
892
892
893
894
895
895
896
897
897
898
899
899
899
900
900
900
900
901
901
901
901
902
902
902
903
903
903
903
903
903
904
904
904
904
904
904
904
905
905
905
906
906
906
907
907
907
907
908
909
909
909
909
909
909
910
910
910
911
911
911
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
913
913
913
913
916
921
921
924
929
929
930
934
938
938
940
943
948
951
951
951
955
959
959
959
959
960
960
960
960
960
960
960
960
960
964
968
968
968
968
968
968
969
971
971
972
972
974
976
976
976
980
982
982
983
983
983
985
987
987
987
987
987
987
987
989
989
993
997
999
1004
1009
1012
1014
1014
1018
1022
1022
1022
1022
1022
1022
1024
1024
1025
1025
1028
1030
1030
1030
1034
1038
1038
1040
1040
1040
1041
1042
1042
1042
1046
1050
1050
1050
1050
1052
1054
1069
1084
1099
1111
1126
1141
1151
1161
1166
1181
1196
1208
1223
1232
1237
1252
1259
1274
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1287
1288
1288
1288
1289
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1291
1292
1292
1292
1293
1294
1294
1294
1294
1294
1294
1294
1294
1294
1295
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1296
1297
1298
1298
1298
1299
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1301
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1302
1303
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1305
1306
1310
1315
1319
1319
1324
1328
1328
1332
1335
1335
1340
1344
1344
1348
1352
1356
1360
1364
1368
1372
1376
1377
1378
1379
1380
1381
1382
1383
1383
1383
1384
1384
1385
1386
1387
1387
1388
1388
1389
1390
1391
1391
1392
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1411
1412
1416
1416
1419
1424
1429
1434
1439
1441
1445
1450
1454
1457
1462
1465
1470
1475
1480
1485
1485
1490
1499
1504
1518
1531
1543
1555
1567
1579
1579
1604
1630
1648
1669
1669
1669
1669
1669
1669
1669
1670
1670
1670
1670
1671
1672
1672
1672
1672
1672
1672
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1673
1674
1675
1676
1677
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1689
1690
1690
1691
1692
1692
1692
1692
1692
1693
1693
1694
1694
1695
1696
1696
1696
1697
1698
1699
1700
1701
1702
1703
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1704
1705
1706
1706
1706
1707
1708
1708
1708
1708
1708
1708
1708
1708
1708
1708
1708
1708
1708
1709
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1719
1719
1719
1719
1720
1720
1720
1720
1721
1721
1722
1723
1723
1724
1724
1724
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1725
1726
1726
1726
1726
1726
1726
1726
1726
1727
1728
1728
1728
1728
1728
1728
1728
1729
1730
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1739
1740
1741
1742
1743
1744
1744
1745
1746
1747
1748
1749
1750
1751
1751
1752
1753
1754
1754
1755
1755
1756
1756
1757
1757
1758
1758
1758
1758
1758
1758
1758
1759
1760
1761
1761
1762
1762
1763
1764
1765
1766
1767
1767
1768
1768
1769
1769
1770
1770
1770
1770
1770
1771
1772
1773
1774
1775
1775
1775
1775
1777
1780
1781
1781
1781
1783
1785
1787
1791
1793
1793
1795
1795
1797
1802
1805
1805
1805
1808
1810
1810
1810
1814
1814
1814
1814
1817
1817
1817
1817
1818
1819
1823
1825
1829
1833
1838
1843
1848
1853
1858
1863
1865
1868
1873
1876
1881
1886
1888
1893
1898
1903
1907
1912
1917
1922
1927
1929
1934
1936
1940
1943
1947
1950
1950
1954
1958
1961
1962
1965
1969
1973
1978
1983
1988
1993
1998
2003
2003
2008
2012
2015
2018
2023
2025
2030
2034
2038
2043
2048
2048
2048
2048
2053
2056
2059
2064
2069
2074
2079
2084
2088
2088
2102
2115
2129
2141
2146
2156
2170
2185
2196
2211
2221
2223
2223
2226
2241
2256
2271
2283
2297
2307
2322
2333
2338
2346
2359
2366
2368
2380
2391
2397
2406
2411
2424
2436
2467
2495
2526
2555
2585
2599
2627
2627
2627
2627
2627
2627
2627
2627
2627
2627
2627
2627
2627
2627
2628
2628
2628
2628
2628
2628
2628
2629
2629
2629
2630
2631
2631
2631
2631
2631
2631
2631
2631
2631
2631
2632
2632
2632
2632
2632
2632
2632
2632
2632
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2633
2634
2635
2635
2636
2637
2638
2638
2638
2638
2638
2638
2638
2639
2639
2640
2640
2640
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2641
2642
2642
2642
2642
2643
2643
2643
2643
2643
2643
2643
2643
2643
2643
2644
2645
2645
2645
2645
2645
2645
2645
2645
2645
2645
2645
2645
2646
2646
2647
2647
2647
2647
2647
2647
2647
2648
2649
2649
2650
2651
2651
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2661
2662
2663
2664
2665
2665
2666
2667
2667
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2676
2677
2677
2678
2678
2678
2678
2679
2680
2681
2681
2681
2681
2681
2681
2682
2682
2682
2683
2684
2685
2686
2687
2688
2688
2688
2688
2688
2688
2688
2688
2689
2690
2691
2691
2692
2692
2693
2694
2695
2695
2695
2696
2697
2697
2698
2699
2700
2700
2701
2702
2703
2704
2705
2706
2707
2707
2708
2709
2710
2711
2711
2712
2713
2713
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2732
2732
2733
2734
2734
2735
2735
2736
2737
2738
2739
2740
2741
2742
2742
2743
2744
2745
2746
2747
2748
2748
2749
2750
2751
2752
2753
2754
2755
2755
2755
2756
2757
2757
2758
2758
2758
2758
2759
2760
2761
2762
2763
2764
2765
2766
2766
2767
2768
2768
2768
2769
2770
2771
2772
2773
2773
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2803
2803
2804
2804
2804
2805
2806
2806
2806
2807
2808
2808
2808
2809
2809
2810
2811
2812
2812
2813
2813
2814
2814
2815
2816
2817
2818
2819
2820
2821
2821
2821
2822
2822
2822
2822
2823
2824
2824
2824
2824
2824
2824
2825
2825
2825
2826
2827
2828
2829
2830
2831
2832
2832
2833
2834
2835
2836
2837
2838
2838
2838
2838
2838
2838
2838
2838
2838
2841
2841
2841
2841
2846
2851
2851
2856
2861
2861
2865
2870
2875
2875
2877
2881
2885
2888
2889
2889
2894
2899
2899
2899
2901
2903
2907
2907
2907
2907
2910
2910
2910
2910
2915
2920
2920
2923
2927
2927
2931
2935
2939
2939
2942
2947
2952
2955
2955
2955
2960
2965
2965
2968
2971
2974
2978
2982
2982
2982
2982
2983
2988
2990
2994
2999
3004
3009
3012
3017
3022
3025
3030
3035
3040
3045
3046
3049
3049
3052
3052
3056
3060
3063
3068
3073
3076
3081
3086
3091
3096
3098
3103
3104
3107
3112
3115
3120
3125
3130
3135
3138
3143
3148
3153
3156
3171
3186
3201
3213
3228
3243
3258
3273
3285
3300
3315
3327
3342
3357
3369
3384
3396
3411
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3423
3424
3425
3426
3426
3427
3428
3429
3429
3429
3430
3431
3431
3431
3431
3431
3431
3432
3432
3432
3433
3434
3435
3435
3436
3437
3438
3438
3438
3438
3438
3439
3440
3440
3441
3442
3443
3443
3443
3444
3444
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3445
3446
3447
3447
3447
3448
3449
3450
3450
3451
3452
3453
3453
3453
3453
3454
3455
3455
3455
3456
3457
3457
3457
3457
3458
3459
3459
3459
3459
3460
3461
3462
3462
3462
3462
3462
3462
3462
3462
3462
3462
3462
3462
3462
3463
3464
3464
3465
3466
3467
3467
3467
3467
3468
3469
3469
3469
3469
3469
3469
3470
3470
3470
3471
3471
3472
3473
3477
3482
3486
3486
3491
3495
3495
3499
3503
3503
3508
3512
3512
3516
3521
3526
3531
3536
3541
3546
3551
3552
3553
3554
3555
3556
3557
3558
