0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
3
3
3
3
3
4
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
8
8
8
10
11
11
13
13
13
14
14
14
14
15
19
21
23
23
23
23
26
26
26
32
35
48
55
64
84
102
126
138
138
138
138
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
141
142
142
142
142
143
143
144
144
144
144
144
144
144
144
144
144
144
144
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
146
146
146
146
146
147
147
147
147
148
148
149
149
150
150
150
151
151
151
151
151
151
151
151
152
153
153
153
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
155
155
156
157
157
158
159
160
161
161
161
161
161
161
162
163
163
164
165
166
167
167
169
169
169
171
171
172
172
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
175
175
175
177
177
177
177
177
178
182
182
184
189
189
193
193
198
198
201
203
208
210
213
218
218
221
221
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
227
227
228
232
232
232
233
235
235
235
235
235
235
235
237
240
243
245
248
253
256
257
260
265
269
274
277
285
299
299
314
320
330
340
355
364
364
364
364
364
367
367
367
367
367
367
367
372
372
372
372
380
380
390
396
408
418
421
430
440
455
480
507
507
516
516
541
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
568
568
568
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
571
571
571
571
571
571
571
571
571
571
571
571
571
571
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
573
573
574
574
574
574
575
575
575
575
575
575
575
575
575
576
576
577
577
577
577
578
578
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
580
580
581
581
582
583
583
583
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
585
585
586
586
586
586
587
588
589
589
590
590
591
591
592
593
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
595
596
596
596
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
598
598
598
598
598
598
598
598
598
598
599
599
599
599
602
607
607
607
607
610
614
614
614
618
618
620
623
623
623
628
633
633
638
638
642
642
646
646
646
648
649
651
651
651
651
651
651
651
651
651
651
651
651
651
651
655
655
659
659
661
661
666
671
674
679
684
689
689
689
689
689
689
689
689
689
689
689
691
691
692
696
696
696
698
700
700
700
700
700
700
700
700
700
700
700
702
702
702
702
702
702
702
702
706
706
709
709
709
714
729
744
759
774
789
796
806
813
827
842
842
847
859
869
879
893
908
908
908
908
908
908
908
908
908
908
908
908
908
908
908
908
909
909
910
910
910
910
911
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
912
913
914
914
914
915
916
916
916
916
916
917
917
917
917
917
917
917
917
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
918
919
919
919
919
919
919
919
920
920
920
920
920
921
922
922
922
922
922
922
922
922
922
922
922
922
922
923
924
928
933
937
937
942
946
946
950
954
954
958
963
967
972
977
981
985
986
987
988
989
990
990
990
990
990
990
990
990
990
990
991
991
991
991
992
992
992
993
993
993
993
993
994
995
995
995
995
995
995
995
995
996
997
997
997
997
997
997
997
998
998
998
1000
1002
1002
1006
1006
1006
1007
1009
1009
1009
1011
1015
1017
1019
1019
1019
1022
1025
1027
1033
1042
1049
1062
1069
1079
1099
1119
1144
1158
1158
1158
1158
1158
1159
1159
1159
1159
1159
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1160
1161
1161
1162
1163
1163
1164
1165
1165
1165
1165
1166
1166
1167
1167
1167
1167
1167
1167
1167
1167
1167
1167
1167
1167
1168
1168
1168
1168
1168
1169
1169
1170
1170
1170
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1171
1172
1172
1172
1172
1172
1172
1172
1172
1172
1172
1172
1172
1172
1173
1173
1173
1173
1173
1173
1173
1173
1174
1175
1175
1175
1175
1175
1176
1176
1176
1176
1176
1176
1177
1177
1177
1177
1178
1178
1179
1179
1180
1180
1180
1181
1181
1181
1181
1182
1182
1182
1182
1183
1184
1184
1184
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1186
1186
1186
1187
1188
1188
1189
1190
1191
1192
1192
1192
1192
1192
1192
1193
1194
1195
1196
1197
1198
1199
1200
1202
1202
1202
1204
1206
1207
1207
1208
1210
1210
1210
1210
1210
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1214
1214
1214
1216
1217
1217
1217
1217
1218
1222
1222
1224
1229
1229
1233
1233
1238
1238
1241
1243
1248
1250
1253
1258
1258
1262
1262
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1266
1268
1268
1269
1273
1273
1273
1274
1276
1276
1276
1276
1278
1278
1278
1280
1283
1286
1288
1291
1296
1299
1300
1303
1308
1312
1317
1320
1328
1342
1342
1357
1363
1373
1383
1398
1407
1407
1407
1407
1408
1411
1411
1411
1411
1411
1411
1411
1416
1416
1416
1416
1425
1425
1435
1441
1453
1465
1468
1477
1488
1503
1528
1555
1561
1571
1574
1599
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1625
1625
1625
1626
1626
1626
1626
1626
1626
1626
1627
1628
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1629
1630
1630
1630
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1632
1632
1632
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1633
1634
1634
1634
1634
1635
1635
1635
1635
1635
1635
1635
1635
1635
1635
1635
1635
1635
1635
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1637
1637
1637
1637
1638
1638
1639
1639
1640
1640
1641
1641
1641
1641
1641
1641
1641
1641
1641
1642
1642
1643
1643
1644
1644
1645
1645
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1646
1647
1647
1648
1648
1649
1649
1650
1651
1651
1651
1652
1653
1653
1653
1653
1653
1654
1655
1655
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
1657
1658
1658
1659
1659
1659
1659
1660
1661
1662
1662
1663
1663
1664
1665
1666
1667
1668
1668
1668
1668
1668
1668
1668
1668
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1669
1670
1671
1671
1671
1672
1672
1672
1673
1673
1673
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1674
1675
1675
1675
1675
1675
1675
1675
1676
1676
1676
1677
1677
1677
1677
1677
1677
1677
1678
1678
1678
1678
1681
1686
1686
1686
1686
1689
1693
1693
1693
1697
1697
1699
1702
1702
1702
1707
1712
1712
1717
1718
1722
1722
1726
1726
1726
1728
1729
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1735
1735
1739
1739
1741
1741
1746
1751
1754
1759
1764
1769
1769
1769
1769
1769
1769
1769
1769
1769
1769
1769
1771
1771
1772
1776
1776
1776
1778
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1784
1784
1784
1784
1784
1784
1784
1784
1788
1788
1791
1791
1791
1796
1811
1826
1841
1856
1871
1881
1891
1899
1913
1928
1928
1933
1945
1955
1965
1979
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1994
1995
1995
1996
1996
1996
1996
1997
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1998
1999
2000
2000
2000
2001
2002
2002
2002
2002
2002
2003
2003
2003
2003
2003
2003
2003
2003
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2004
2005
2005
2005
2005
2005
2005
2005
2006
2006
2006
2006
2006
2007
2008
2008
2008
2008
2008
2008
2008
2008
2008
2008
2008
2008
2008
2009
2010
2014
2019
2023
2023
2028
2032
2032
2036
2040
2040
2044
2049
2053
2058
2063
2067
2071
2072
2073
2074
2075
2076
2076
2077
2077
2077
2077
2077
2077
2078
2078
2079
2080
2080
2080
2081
2081
2081
2082
2082
2082
2082
2082
2083
2084
2084
2084
2084
2084
2084
2085
2085
2086
2087
2088
2089
2089
2089
2089
2089
2090
2092
2092
2094
2097
2097
2101
2103
2104
2107
2110
2110
2113
2117
2122
2126
2129
2129
2134
2143
2154
2169
2178
2192
2207
2220
2229
2241
2261
2283
2307
2321
2321
2321
2321
2321
2322
2322
2322
2322
2322
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2323
2324
2324
2325
2325
2325
2325
2325
2325
2325
2325
2326
2326
2326
2327
2327
2327
2328
2328
2329
2330
2331
2332
2333
2334
2334
2334
2335
2336
2337
2337
2338
2339
2340
2341
2342
2342
2342
2343
2343
2343
2344
2344
2344
2345
2345
2346
2346
2347
2347
2347
2348
2348
2349
2349
2349
2349
2349
2349
2349
2349
2349
2349
2350
2350
2350
2350
2350
2351
2351
2352
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2353
2354
2355
2355
2355
2355
2355
2355
2355
2355
2355
2355
2356
2357
2357
2357
2358
2358
2359
2360
2360
2360
2360
2361
2362
2363
2364
2364
2364
2364
2365
2365
2365
2366
2366
2367
2367
2367
2367
2368
2369
2369
2369
2369
2369
2369
2370
2371
2372
2372
2373
2374
2375
2376
2376
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2388
2389
2390
2391
2392
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2401
2401
2402
2403
2403
2404
2405
2405
2406
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2416
2416
2416
2417
2417
2417
2418
2419
2420
2420
2421
2422
2423
2423
2424
2425
2426
2427
2428
2428
2428
2428
2429
2430
2431
2432
2433
2434
2435
2436
2438
2440
2444
2444
2447
2450
2455
2455
2457
2462
2462
2462
2462
2462
2467
2467
2467
2467
2467
2467
2467
2471
2471
2471
2472
2472
2472
2475
2476
2476
2479
2481
2482
2485
2489
2494
2498
2501
2506
2511
2514
2519
2523
2528
2532
2537
2541
2546
2551
2555
2560
2565
2570
2573
2578
2578
2580
2580
2580
2580
2580
2585
2588
2591
2596
2596
2596
2596
2596
2600
2604
2609
2614
2619
2624
2624
2627
2627
2629
2633
2638
2642
2647
2651
2656
2660
2665
2665
2665
2665
2669
2672
2672
2676
2681
2684
2688
2693
2698
2702
2707
2712
2717
2722
2727
2742
2757
2772
2787
2802
2813
2828
2843
2858
2872
2874
2885
2894
2906
2917
2917
2918
2921
2927
2933
2933
2948
2963
2966
2979
2991
3001
3013
3028
3043
3055
3070
3085
3100
3115
3140
3167
3181
3216
3228
3252
3277
3277
3277
3277
3277
3277
3277
3278
3278
3278
3279
3279
3280
3280
3280
3280
3280
3281
3281
3281
3281
3281
3281
3282
3282
3282
3283
3283
3283
3283
3283
3283
3283
3284
3285
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3286
3287
3287
3287
3288
3288
3289
3290
3290
3290
3290
3290
3290
3290
3290
3290
3290
3290
3290
3291
3291
3292
3293
3293
3293
3294
3295
3295
3295
3295
3295
3295
3296
3296
3296
3296
3296
3296
3296
3296
3296
3297
3297
3297
3297
3297
3297
3297
3297
3297
3298
3298
3299
3300
3300
3300
3300
3301
3302
3302
3302
3302
3303
3303
3303
3304
3305
3306
3306
3307
3307
3307
3307
3308
3308
3309
3310
3311
3312
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3321
3322
3323
3324
3325
3326
3327
3327
3328
3329
3330
3330
3331
3332
3333
3334
3335
3336
3337
3337
3338
3339
3340
3341
3342
3342
3343
3344
3345
3346
3347
3348
3348
3349
3350
3351
3352
3352
3353
3353
3354
3354
3354
3354
3354
3355
3355
3356
3356
3357
3358
3359
3360
3360
3361
3362
3363
3364
3364
3365
3366
3367
3368
3369
3370
3370
3371
3372
3373
3374
3375
3376
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3385
3386
3387
3387
3387
3388
3389
3390
3390
3391
3392
3393
3393
3394
3394
3395
3396
3397
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3408
3408
3409
3409
3409
3409
3409
3410
3410
3410
3411
3411
3412
3413
3414
3414
3415
3415
3415
3415
3416
3417
3418
3418
3419
3420
3421
3421
3421
3421
3422
3423
3424
3424
3425
3426
3427
3428
3429
3430
3430
3431
3432
3433
3434
3434
3434
3434
3434
3434
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3443
3443
3443
3443
3443
3443
3443
3444
3445
3446
3446
3447
3448
3449
3450
3451
3451
3451
3452
3453
3453
3453
3454
3454
3454
3455
3455
3456
3457
3457
3457
3458
3459
3460
3461
3461
3461
3461
3462
3463
3464
3465
3466
3467
3468
3468
3468
3468
3471
3471
3471
3471
3476
3481
3481
3481
3481
3486
3491
3491
3493
3498
3501
3504
3509
3511
3515
3520
3525
3525
3530
3535
3540
3544
3549
3549
3549
3554
3556
3560
3560
3560
3563
3567
3567
3567
3567
3567
3570
3574
3579
3579
3583
3588
3593
3598
3603
3606
3611
3616
3621
3626
3631
3636
3641
3641
3643
3645
3645
3648
3648
3648
3648
3648
3652
3656
3661
3666
3671
3676
3681
3684
3689
3689
3689
3689
3689
3692
3696
3696
3696
3696
3698
3703
3703
3703
3703
3707
3707
3707
3707
3712
3712
3717
3717
3717
3722
3737
3752
3767
3782
3797
3812
3822
3837
3851
3866
3878
3890
3902
3917
3932
3947
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3962
3963
3964
3965
3965
3965
3966
3967
3968
3968
3968
3969
3970
3970
3970
3970
3970
3970
3970
3971
3971
3972
3972
3972
3973
3974
3975
3975
3976
3977
3978
3978
3978
3978
3979
3980
3980
3980
3980
3981
3981
3982
3982
3983
3983
3983
3984
3984
3985
3985
3985
3985
3985
3985
3985
3985
3985
3985
3985
3985
3986
3987
3987
3987
3988
3989
3989
3989
3989
3989
3989
3989
3989
3989
3989
3989
3989
3990
3990
3990
3990
3991
3991
3991
3992
3993
3993
3994
3994
3995
3996
3996
3996
3996
3996
3997
3997
3997
3998
3998
3998
3999
3999
4000
4001
4005
4010
4014
4014
4019
4023
4023
4028
4032
4032
4037
4042
4047
4052
4057
4062
4067
4068
4069
4070
4071
4072
