0
2
3
4
6
7
8
9
13
16
18
20
23
25
29
34
37
39
44
46
47
48
49
51
56
58
63
64
68
69
75
86
88
89
93
101
102
107
110
113
115
122
123
126
130
131
132
134
137
139
140
144
148
151
154
155
160
161
174
180
184
185
193
194
201
202
205
206
207
213
214
216
218
228
229
230
231
233
235
238
239
242
247
248
251
252
256
264
267
268
270
272
274
280
282
283
284
287
289
293
300
305
306
315
319
321
322
324
325
332
334
336
337
338
341
343
345
352
354
366
367
368
370
375
381
384
388
389
390
393
395
396
397
401
404
405
407
411
415
416
420
423
426
429
430
431
433
434
436
438
439
444
445
446
451
452
455
456
457
460
463
467
471
474
475
478
479
481
484
486
487
492
493
497
501
507
514
518
528
532
533
536
542
543
548
549
553
557
558
560
568
572
573
577
578
580
582
585
586
588
592
595
599
603
607
611
614
615
619
620
621
624
629
631
632
633
635
636
639
645
647
648
649
651
653
657
659
661
662
663
664
667
671
673
674
677
679
682
685
686
688
691
696
699
701
704
705
714
722
725
727
728
733
734
740
743
744
747
751
754
759
766
769
770
771
773
775
779
785
786
788
790
791
793
795
797
804
805
806
808
809
811
812
816
819
829
830
833
834
835
845
846
848
852
856
857
862
865
868
869
870
871
873
877
878
879
887
888
890
891
895
897
902
904
905
910
911
913
916
923
926
928
930
931
933
936
937
942
943
945
946
955
961
962
963
966
969
971
974
976
980
982
984
986
990
993
1005
1012
1013
1015
1016
1017
1020
1021
1022
1025
1026
1029
1031
1033
1034
1037
1038
1040
1041
1045
1048
1051
1052
1056
1058
1062
1067
1068
1071
1072
1074
1076
1077
1078
1082
1083
1085
1091
1092
1097
1103
1116
1123
1134
1147
1149
1152
1154
1156
1159
1161
1163
1165
1166
1167
1169
1171
1173
1181
1182
1187
1188
1194
1200
1209
1212
1214
1217
1219
1224
1225
1227
1232
1233
1234
1237
1239
1241
1244
1248
1251
1252
1253
1258
1259
1260
1262
1264
1265
1266
1271
1273
1274
1278
1288
1291
1292
1295
1299
1302
1305
1307
1319
1326
1327
1329
1333
1335
1336
1341
1342
1344
1348
1350
1351
1352
1353
1355
1356
1359
1363
1367
1369
1370
1378
1382
1383
1384
1385
1386
1388
1391
1392
1393
1402
1403
1404
1407
1412
1415
1416
1421
1425
1428
1431
1438
1440
1444
1450
1452
1457
1458
1461
1464
1465
1466
1471
1475
1478
1480
1481
1482
1486
1488
1495
1499
1500
1504
1509
1514
1519
1521
1525
1528
1530
1531
1536
1538
1539
1543
1546
1555
1560
1561
1566
1568
1571
1576
1581
1583
1591
1593
1595
1596
1598
1600
1601
1602
1604
1605
1607
1608
1610
1612
1615
1620
1621
1629
1632
1639
1645
1648
1653
1657
1658
1660
1661
1664
1667
1668
1669
1670
1674
1675
1677
1680
1684
1685
1687
1688
1690
1691
1692
1694
1696
1699
1705
1708
1710
1711
1715
1722
1730
1733
1735
1736
1739
1741
1743
1744
1747
1748
1750
1755
1756
1757
1766
1769
1770
1771
1774
1775
1789
1791
1796
1804
1807
1808
1809
1811
1817
1819
1821
1825
1827
1828
1830
1837
1838
1842
1843
1845
1846
1848
1850
1851
1852
1853
1854
1857
1865
1866
1867
1868
1876
1877
1882
1885
1890
1894
1899
1900
1901
1903
1905
1909
1915
1916
1917
1921
1928
1929
1933
1935
1938
1947
1950
1954
1959
1960
1964
1968
1973
1975
1978
1983
1986
1987
1991
1995
1996
1997
1998
2005
2010
2011
2015
2016
2017
2019
2020
2023
2027
2035
2036
2038
2045
2047
2048
2053
2054
2056
2060
2061
2064
2065
2069
2070
2073
2074
2081
2087
2097
2099
2100
2102
2104
2105
2106
2108
2109
2110
2114
2116
2117
2119
2121
2127
2128
2129
2130
2131
2134
2136
2138
2140
2145
2149
2151
2154
2156
2157
2160
2161
2162
2164
2165
2168
2173
2180
2182
2185
2191
2193
2195
2204
2208
2212
2213
2216
2227
2229
2234
2236
2239
2244
2249
2250
2252
2255
2258
2259
2260
2261
2262
2263
2264
2268
2271
2273
2276
2280
2284
2289
2293
2295
2296
2301
2302
2315
2321
2325
2329
2336
2341
2343
2348
2360
2361
2363
2367
2369
2378
2379
2380
2383
2384
2385
2389
2392
2394
2399
2400
2409
2410
2417
2423
2424
2426
2430
2432
2435
2438
2442
2445
2446
2449
2453
2461
2467
2473
2479
2482
2484
2486
2487
2489
2494
2495
2501
2502
2504
2506
2507
2508
2510
2514
2516
2529
2536
2538
2539
2542
2543
2546
2550
2553
2554
2558
2560
2562
2563
2567
2568
2578
2579
2585
2588
2591
2593
2598
2599
2602
2604
2614
2616
2617
2622
2626
2629
2630
2632
2633
2637
2641
2643
2647
2650
2651
2657
2662
2663
2667
2668
2669
2670
2672
2673
2677
2682
2684
2688
2689
2692
2693
2695
2698
2701
2703
2707
2708
2710
2713
2715
2716
2721
2723
2724
2735
2736
2737
2740
2742
2744
2746
2750
2754
2760
2763
2766
2768
2771
2773
2776
2781
2786
2791
2804
2812
2814
2815
2816
2818
2821
2825
2828
2829
2831
2833
2836
2837
2839
2845
2846
2847
2848
2851
2853
2859
2864
2868
2871
2872
2875
2878
2879
2880
2885
2890
2895
2896
2897
2901
2903
2912
2917
2923
2924
2932
2933
2945
2947
2949
2950
2955
2958
2961
2963
2966
2968
2974
2975
2979
2981
2982
2984
2996
3001
3003
3005
3010
3013
3015
3016
3022
3038
3039
3042
3046
3047
3049
3051
3052
3054
3056
3059
3060
3061
3064
3065
3072
3073
3074
3079
3081
3082
3085
3093
3096
3098
3106
3107
3111
3112
3114
3117
3118
3120
3122
3123
3126
3127
3128
3129
3130
3132
3137
3141
3144
3148
3152
3159
3173
3177
3179
3181
3182
3184
3186
3191
3194
3205
3206
3207
3209
3214
3215
3216
3218
3219
3220
3224
3228
3232
3233
3235
3241
3245
3246
3247
3248
3252
3253
3255
3258
3264
3266
3269
3270
3277
3278
3282
3283
3286
3288
3292
3296
3298
3299
3302
3304
3311
3314
3315
3318
3319
3324
3325
3330
3334
3335
3339
3342
3345
3348
3350
3355
3359
3365
3366
3368
3369
3370
3375
3376
3378
3379
3381
3386
3394
3405
3406
3407
3409
3414
3415
3416
3418
3419
3420
3421
3426
3430
3431
3432
3438
3442
3445
3446
3447
3449
3457
3459
3463
3470
3472
3474
3478
3480
3481
3487
3489
3490
3491
3492
3494
3495
3496
3500
3501
3505
3512
3514
3516
3524
3525
3527
3533
3534
3535
3536
3537
3538
3540
3543
3544
3547
3552
3553
3558
3560
3565
3568
3575
3577
3578
3579
3584
3590
3591
3592
3609
3617
3622
3623
3626
3630
3634
3636
3644
3646
3647
3651
3656
3657
3660
3664
3671
3673
3678
3685
3687
3688
3689
3691
3694
3695
3705
3706
3708
3710
3713
3715
3716
3717
3718
3726
3729
3730
3731
3737
3738
3742
3750
3753
3755
3756
3761
3764
3768
3770
3771
3772
3774
3781
3789
3790
3792
3797
3799
3802
3804
3805
3808
3810
3813
3818
3821
3822
3824
3825
3826
3827
3828
3829
3831
3833
3834
3836
3838
3840
3842
3843
3844
3847
3849
3855
3861
3863
3872
3873
3874
3877
3878
3879
3884
3885
3888
3894
3896
3902
3903
3905
3907
3910
3913
3916
3918
3919
3920
3922
3923
3926
3928
3929
3930
3932
3936
3944
3948
3951
3954
3955
3956
3963
3964
3966
3969
3971
3981
3986
3998
3999
4002
4005
4006
4008
4012
4014
4017
4018
4021
4023
4029
4032
4035
4039
4040
4043
4046
4047
4049
4055
4058
4059
4060
4061
4062
4064
4070
4071
4075
4077
4079
4083
4086
4088
4105
4109
4113
4114
4119
4120
4124
4125
4132
4138
4140
4142
4147
4151
4154
4155
4160
4162
4170
4178
4179
4185
4186
4188
4193
4196
4198
4199
4201
4202
4206
4207
4208
4210
4213
4214
4215
4219
4221
4222
4225
4230
4232
4236
4237
4238
4239
4240
4242
4244
4245
4250
4251
