0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
5
6
7
9
10
10
10
12
17
20
24
29
32
38
47
60
72
98
115
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
148
148
148
148
148
148
148
148
148
148
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
150
150
150
150
150
150
150
150
151
151
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
154
154
154
154
155
156
156
156
156
156
156
156
156
157
158
159
160
160
160
160
160
160
160
160
160
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
162
162
162
163
163
163
163
163
163
163
165
165
165
167
167
168
168
168
170
170
171
171
171
173
173
173
173
173
174
174
174
174
174
175
178
178
178
181
185
188
190
191
194
198
198
198
198
198
198
198
198
198
198
198
200
200
200
203
206
210
213
214
218
223
223
223
223
223
223
225
228
232
236
241
241
241
241
245
245
247
249
249
252
255
255
255
255
255
255
255
256
256
256
256
256
256
256
258
258
258
258
258
258
258
263
272
280
294
305
305
305
305
305
305
307
317
327
342
353
355
364
374
388
399
404
414
420
430
442
442
445
445
451
461
464
464
468
473
484
510
528
552
581
609
634
655
655
655
655
655
655
655
655
655
655
655
655
655
656
656
656
657
657
657
657
657
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
659
659
659
659
659
659
659
659
659
659
660
660
660
660
660
660
661
661
661
662
662
662
662
662
663
663
663
663
663
663
664
664
664
664
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
665
666
666
666
666
666
666
666
666
666
667
668
669
669
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
670
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
671
672
673
673
673
674
674
674
674
674
674
674
674
674
674
674
674
674
675
676
676
676
676
676
676
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
677
678
678
679
679
680
681
681
681
681
681
681
681
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
682
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
683
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
685
685
685
685
685
685
685
685
685
687
688
688
688
688
688
688
688
688
689
693
697
701
706
706
709
709
712
716
720
725
730
730
735
735
736
738
738
742
742
742
742
742
742
744
744
745
745
747
747
750
750
753
757
757
757
757
757
757
757
759
759
763
768
768
768
768
768
768
771
771
771
774
778
779
779
779
779
779
783
788
793
798
798
801
801
801
805
805
805
805
805
805
807
807
807
811
815
815
815
815
815
815
815
815
815
815
815
815
815
819
819
819
819
819
819
819
819
819
819
819
819
819
819
822
822
822
827
827
841
849
864
879
889
895
895
909
909
914
929
937
947
962
972
987
987
997
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1013
1014
1014
1014
1014
1015
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1017
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1018
1019
1020
1020
1020
1020
1020
1020
1020
1020
1020
1021
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1022
1023
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1024
1025
1025
1025
1025
1030
1035
1035
1035
1039
1039
1043
1048
1052
1056
1061
1061
1061
1061
1066
1070
1074
1078
1078
1078
1079
1080
1081
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1082
1083
1083
1083
1083
1083
1083
1083
1083
1083
1083
1083
1083
1083
1083
1084
1085
1085
1085
1085
1085
1085
1086
1086
1086
1086
1086
1086
1086
1086
1086
1086
1087
1088
1089
1091
1092
1093
1093
1095
1100
1103
1107
1112
1115
1121
1131
1145
1160
1186
1204
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1239
1240
1241
1241
1241
1241
1241
1241
1241
1241
1241
1241
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1243
1244
1244
1244
1244
1244
1244
1244
1244
1245
1245
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1246
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1247
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1248
1249
1250
1250
1250
1250
1250
1250
1250
1250
1250
1250
1250
1250
1250
1250
1251
1251
1251
1251
1251
1252
1253
1253
1253
1253
1253
1253
1253
1253
1254
1255
1256
1257
1257
1257
1258
1258
1258
1258
1258
1259
1260
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1262
1262
1262
1262
1262
1262
1264
1264
1264
1265
1265
1265
1265
1265
1265
1265
1267
1267
1267
1269
1269
1270
1270
1270
1272
1272
1273
1273
1273
1275
1275
1275
1275
1275
1276
1276
1276
1276
1276
1277
1280
1280
1280
1283
1287
1290
1293
1294
1297
1301
1301
1301
1301
1301
1301
1301
1301
1301
1301
1301
1303
1303
1303
1306
1309
1313
1316
1317
1321
1326
1326
1326
1326
1326
1326
1328
1331
1335
1339
1344
1344
1344
1344
1348
1349
1351
1354
1355
1358
1361
1361
1361
1361
1361
1361
1361
1362
1362
1362
1365
1365
1365
1365
1367
1367
1367
1367
1367
1370
1370
1375
1386
1394
1408
1419
1419
1419
1419
1419
1419
1421
1431
1441
1456
1467
1469
1478
1488
1502
1514
1519
1529
1535
1546
1558
1558
1561
1561
1567
1577
1580
1580
1584
1589
1600
1627
1645
1670
1701
1729
1754
1775
1775
1775
1775
1775
1775
1775
1775
1775
1775
1775
1775
1775
1776
1776
1776
1777
1777
1778
1778
1778
1779
1779
1780
1780
1780
1781
1781
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1782
1783
1783
1783
1783
1783
1783
1783
1784
1784
1784
1785
1785
1785
1785
1785
1785
1786
1786
1786
1786
1787
1787
1787
1787
1787
1787
1788
1788
1788
1789
1789
1790
1790
1790
1791
1791
1791
1791
1791
1791
1792
1792
1792
1792
1793
1793
1793
1793
1793
1793
1793
1793
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1794
1795
1795
1795
1795
1795
1795
1795
1795
1795
1796
1797
1798
1798
1799
1799
1799
1799
1799
1799
1799
1800
1800
1800
1800
1800
1800
1800
1800
1800
1800
1801
1801
1801
1801
1801
1801
1801
1802
1803
1803
1803
1803
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1805
1805
1805
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1806
1807
1808
1808
1808
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1810
1811
1811
1811
1811
1811
1811
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1812
1813
1814
1815
1816
1817
1818
1818
1818
1818
1818
1818
1818
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1820
1820
1820
1820
1820
1820
1821
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1822
1823
1823
1823
1823
1823
1823
1823
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1825
1825
1825
1825
1825
1825
1825
1825
1825
1827
1828
1828
1828
1828
1828
1828
1828
1828
1829
1833
1837
1841
1846
1846
1849
1849
1852
1856
1860
1865
1870
1870
1875
1875
1877
1879
1879
1883
1883
1883
1884
1884
1886
1888
1888
1889
1889
1891
1891
1894
1894
1897
1901
1901
1901
1901
1901
1901
1901
1903
1903
1907
1912
1912
1912
1912
1912
1912
1915
1915
1915
1918
1922
1923
1923
1923
1923
1923
1927
1932
1937
1942
1942
1945
1945
1945
1949
1949
1949
1949
1949
1951
1953
1953
1953
1957
1961
1961
1961
1961
1961
1961
1961
1961
1961
1961
1961
1961
1961
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1965
1968
1968
1968
1973
1973
1987
1995
2010
2025
2035
2042
2042
2056
2056
2063
2078
2086
2096
2111
2121
2136
2136
2146
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2161
2162
2163
2163
2163
2163
2164
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2165
2166
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2167
2168
2169
2169
2169
2169
2169
2169
2169
2169
2169
2170
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2171
2172
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2173
2174
2174
2174
2174
2179
2184
2184
2184
2188
2188
2192
2197
2201
2205
2210
2210
2210
2210
2215
2219
2223
2227
2227
2227
2228
2229
2230
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2231
2232
2232
2232
2232
2232
2232
2232
2232
2232
2232
2232
2232
2232
2232
2233
2234
2234
2234
2234
2234
2236
2239
2239
2241
2245
2245
2247
2252
2254
2257
2262
2265
2270
2273
2276
2281
2286
2292
2302
2308
2318
2329
2335
2348
2360
2372
2386
2409
2430
2448
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2469
2470
2471
2471
2471
2471
2471
2471
2471
2471
2471
2471
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2472
2473
2474
2474
2474
2474
2474
2474
2474
2474
2475
2475
2476
2476
2476
2476
2476
2477
2477
2477
2478
2479
2480
2480
2480
2480
2480
2481
2482
2483
2484
2485
2486
2486
2487
2487
2487
2488
2489
2489
2489
2490
2491
2491
2491
2491
2491
2491
2491
2491
2492
2492
2492
2493
2493
2493
2493
2494
2494
2494
2494
2495
2496
2496
2496
2496
2496
2496
2496
2496
2496
2496
2497
2498
2499
2500
2500
2501
2501
2501
2501
2501
2501
2501
2501
2501
2502
2502
2502
2502
2503
2503
2504
2504
2504
2504
2504
2504
2504
2504
2505
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2506
2507
2507
2507
2507
2507
2508
2509
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2520
2521
2522
2523
2523
2523
2524
2525
2526
2527
2527
2528
2528
2529
2530
2530
2531
2532
2532
2533
2534
2535
2535
2536
2537
2538
2539
2540
2540
2540
2542
2542
2542
2545
2545
2545
2546
2548
2550
2550
2551
2551
2551
2554
2554
2557
2558
2560
2563
2563
2566
2567
2567
2569
2569
2571
2571
2571
2574
2576
2576
2576
2576
2579
2582
2582
2586
2591
2596
2601
2604
2607
2612
2617
2617
2617
2617
2619
2622
2626
2628
2630
2634
2638
2639
2641
2641
2645
2650
2655
2658
2661
2666
2671
2674
2678
2683
2688
2693
2698
2701
2706
2711
2716
2719
2724
2724
2729
2733
2736
2739
2744
2749
2754
2755
2758
2760
2760
2763
2766
2769
2773
2778
2783
2785
2788
2791
2794
2797
2802
2804
2809
2814
2819
2823
2834
2842
2855
2867
2867
2867
2867
2867
2867
2867
2875
2889
2903
2914
2929
2941
2956
2971
2983
2997
3009
3024
3038
3050
3055
3065
3077
3092
3104
3111
3120
3133
3147
3159
3185
3197
3214
3244
3268
3296
3324
3324
3324
3324
3324
3325
3325
3325
3325
3325
3325
3325
3325
3326
3326
3326
3326
3326
3327
3327
3327
3328
3329
3330
3330
3330
3331
3331
3332
3332
3332
3333
3333
3333
3333
3333
3334
3334
3334
3334
3334
3334
3334
3334
3334
3334
3335
3335
3335
3335
3335
3335
3335
3336
3336
3336
3337
3337
3337
3337
3337
3337
3337
3337
3337
3337
3338
3338
3338
3338
3338
3338
3339
3339
3339
3340
3340
3341
3341
3341
3342
3342
3342
3342
3342
3343
3344
3344
3344
3344
3345
3345
3345
3345
3345
3345
3345
3345
3346
3346
3346
3346
3346
3347
3347
3347
3347
3347
3348
3348
3348
3348
3348
3348
3348
3349
3349
3349
3349
3349
3350
3350
3350
3350
3350
3350
3350
3350
3350
3350
3350
3350
3350
3350
3351
3352
3352
3352
3352
3352
3352
3353
3354
3355
3356
3357
3357
3358
3358
3358
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3359
3360
3360
3360
3360
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3374
3375
3376
3376
3377
3378
3378
3379
3380
3381
3382
3383
3383
3384
3384
3384
3385
3386
3387
3388
3389
3390
3390
3391
3391
3391
3391
3391
3391
3392
3392
3392
3392
3392
3392
3392
3393
3394
3395
3396
3396
3396
3396
3396
3396
3396
3396
3397
3398
3399
3399
3399
3399
3399
3399
3400
3401
3401
3401
3402
3402
3402
3402
3402
3402
3402
3402
3402
3402
3402
3402
3403
3404
3405
3405
3406
3407
3407
3408
3409
3409
3409
3409
3409
3409
3409
3409
3409
3409
3409
3409
3410
3411
3412
3413
3414
3415
3415
3415
3416
3417
3418
3419
3419
3419
3419
3419
3419
3419
3419
3419
3419
3420
3420
3421
3422
3423
3424
3424
3425
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3434
3435
3435
3435
3435
3435
3436
3437
3438
3438
3438
3439
3439
3440
3441
3442
3443
3443
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3454
3454
3454
3454
3454
3454
3454
3454
3455
3456
3456
3456
3456
3456
3456
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3475
3475
3475
3476
3476
3477
3478
3479
3479
3480
3480
3480
3480
3480
3480
3480
3481
3482
3482
3483
3484
3485
3486
3487
3487
3487
3488
3489
3490
3491
3492
3492
3492
3493
3494
3495
3496
3496
3497
3498
3498
3498
3502
3505
3508
3508
3508
3508
3508
3508
3508
3511
3516
3521
3526
3531
3531
3535
3539
3544
3549
3554
3559
3564
3564
3569
3569
3574
3579
3579
3584
3586
3590
3594
3594
3598
3599
3599
3600
3600
3601
3602
3604
3605
3610
3615
3615
3615
3615
3615
3615
3615
3619
3624
3629
3634
3634
3634
3634
3634
3634
3636
3640
3645
3650
3655
3658
3660
3660
3662
3667
3672
3677
3682
3687
3691
3696
3701
3705
3710
3710
3714
3717
3722
3727
3732
3737
3742
3747
3752
3752
3752
3752
3752
3752
3752
3755
3759
3759
3759
3759
3764
3769
3769
3769
3769
3770
3772
3772
3772
3775
3775
3775
3775
3779
3779
3784
3784
3784
3789
3789
3801
3816
3831
3846
3861
3871
3871
3884
3884
3898
3913
3927
3941
3956
3971
3986
3986
4001
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4016
4017
4018
4019
4019
4019
4020
4021
4022
4022
4022
4022
4023
4024
4024
4024
4025
4025
4026
4026
4026
4026
4027
4028
4029
4029
4029
4029
4029
4029
4029
4029
4029
4029
4030
4030
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4032
4033
4034
4034
4034
4035
4036
4036
4036
4036
4037
4038
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4039
4040
4040
4040
4040
4041
4041
4042
4042
4043
4044
4044
4044
4044
4044
4044
4044
4044
4044
4045
4046
4046
4046
4046
4047
4048
4048
4048
4049
4049
4049
4050
4050
4050
4050
4055
4060
4060
4060
4064
4064
4068
4073
4077
4082
4087
4087
4087
4087
4092
4097
4102
4107
4107
4107
4108
4109
4110
4111
