0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
3
3
4
5
5
6
6
6
7
8
9
9
10
10
11
12
13
14
15
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
19
21
21
22
22
24
29
32
36
41
44
51
62
76
91
120
138
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
177
177
177
177
177
177
177
178
179
179
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
181
182
182
182
182
182
182
182
183
184
184
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
189
189
189
189
190
191
192
192
192
192
192
192
192
192
192
192
192
192
192
193
193
193
194
194
195
196
197
197
197
197
197
197
197
198
199
200
201
201
201
202
202
202
203
203
204
205
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
207
207
207
207
207
209
209
209
211
211
211
211
211
211
211
213
213
213
215
215
216
216
216
218
218
219
219
219
221
221
221
221
221
222
222
222
222
222
223
227
227
227
230
234
237
240
242
245
250
250
250
250
250
250
250
250
250
250
250
252
252
252
255
258
262
265
267
271
276
276
276
276
276
276
278
281
285
289
294
294
294
294
298
299
301
304
305
308
311
311
311
311
311
311
311
312
312
312
316
316
316
316
318
319
319
319
320
324
324
329
339
347
362
373
373
373
373
373
373
375
385
395
410
421
423
432
442
456
467
473
483
489
501
513
513
516
516
522
532
535
535
540
545
556
582
601
627
656
686
711
733
733
733
733
733
733
733
733
733
733
733
733
733
734
734
734
735
735
736
736
736
737
737
738
738
738
739
739
740
740
740
741
741
741
741
741
741
741
741
742
742
742
742
742
742
742
743
743
743
743
743
743
743
744
744
744
745
745
745
745
745
745
746
746
746
746
747
747
747
747
747
747
748
748
748
749
749
750
750
750
750
750
750
750
750
750
751
751
751
751
752
752
752
752
752
752
752
752
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
753
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
755
755
756
757
757
757
757
757
757
758
759
760
760
761
761
761
761
761
761
761
762
762
762
762
762
762
762
762
762
762
763
763
763
763
763
763
763
764
765
765
765
765
766
766
766
766
766
767
767
767
767
767
767
767
767
767
767
768
768
768
768
768
768
768
768
768
768
769
769
769
769
769
769
769
769
770
771
771
771
771
771
771
771
771
771
771
771
771
771
771
771
771
771
771
772
773
774
774
775
775
775
775
775
775
775
775
775
775
775
775
775
775
776
776
776
776
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
777
778
779
780
781
782
783
783
783
783
783
783
784
785
785
785
786
786
786
786
786
786
786
787
787
787
787
787
787
787
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
789
789
789
789
789
789
789
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
790
791
791
791
791
791
791
791
791
791
793
794
794
794
794
794
794
794
794
795
799
804
809
814
814
817
817
820
824
828
833
838
838
843
843
845
848
848
852
852
852
853
853
855
857
857
858
858
860
860
863
863
865
868
868
868
868
868
868
868
869
869
873
878
878
878
878
878
878
881
881
881
884
888
889
889
889
889
889
893
898
903
908
908
911
911
911
915
915
915
915
915
917
919
919
919
923
927
927
927
927
927
927
927
927
927
927
927
927
927
931
931
931
931
931
931
931
931
931
931
931
931
931
931
934
934
934
939
939
953
961
976
991
1001
1007
1007
1021
1021
1027
1042
1050
1060
1075
1085
1100
1100
1110
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1125
1126
1127
1127
1127
1127
1128
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1130
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1131
1132
1133
1133
1133
1133
1133
1133
1133
1133
1133
1134
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1135
1136
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1137
1138
1139
1139
1139
1139
1144
1149
1149
1149
1153
1153
1157
1162
1166
1170
1175
1175
1175
1175
1180
1184
1188
1192
1192
1192
1193
1194
1195
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1197
1197
1198
1198
1199
1199
1200
1201
1201
1202
1202
1202
1203
1204
1205
1205
1206
1206
1207
1208
1209
1210
1211
1212
1213
1213
1213
1215
1215
1218
1221
1221
1224
1228
1228
1232
1237
1241
1244
1249
1252
1257
1260
1263
1268
1273
1280
1290
1296
1307
1318
1324
1338
1350
1362
1376
1400
1421
1439
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1460
1461
1462
1462
1462
1462
1462
1462
1462
1463
1464
1464
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1465
1466
1467
1467
1467
1467
1467
1467
1467
1468
1469
1469
1470
1470
1470
1470
1470
1471
1471
1471
1472
1473
1474
1474
1474
1474
1474
1475
1476
1477
1478
1479
1480
1480
1481
1481
1481
1482
1483
1483
1483
1484
1485
1485
1485
1485
1485
1485
1485
1486
1487
1487
1487
1488
1488
1488
1488
1489
1489
1489
1489
1490
1491
1491
1491
1491
1491
1491
1491
1492
1493
1493
1494
1495
1496
1497
1497
1498
1498
1498
1498
1498
1498
1498
1498
1498
1499
1499
1499
1500
1501
1501
1502
1502
1502
1503
1503
1503
1503
1503
1504
1505
1506
1506
1506
1506
1506
1506
1506
1506
1506
1506
1506
1506
1506
1507
1507
1507
1508
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1527
1528
1529
1530
1531
1531
1532
1533
1533
1534
1534
1535
1536
1537
1538
1539
1540
1540
1541
1542
1543
1544
1545
1546
1546
1548
1548
1549
1552
1554
1554
1555
1558
1560
1560
1561
1561
1564
1567
1567
1570
1571
1573
1576
1576
1579
1580
1580
1582
1582
1584
1584
1584
1587
1589
1589
1589
1589
1592
1595
1595
1600
1605
1610
1615
1618
1622
1627
1632
1632
1634
1636
1638
1640
1643
1645
1649
1653
1657
1658
1660
1662
1666
1671
1676
1679
1683
1688
1693
1696
1700
1705
1710
1715
1720
1723
1728
1733
1738
1741
1746
1750
1755
1759
1763
1766
1771
1776
1781
1782
1784
1788
1788
1791
1794
1797
1800
1805
1810
1812
1815
1818
1821
1825
1830
1832
1836
1841
1846
1850
1861
1869
1883
1895
1895
1895
1895
1895
1895
1895
1903
1917
1931
1942
1957
1969
1984
1999
2011
2025
2037
2052
2066
2078
2083
2093
2105
2120
2132
2139
2149
2163
2177
2189
2216
2230
2247
2277
2301
2329
2358
2358
2358
2358
2358
2359
2359
2359
2359
2359
2359
2359
2359
2360
2361
2362
2362
2362
2363
2363
2363
2364
2365
2366
2366
2366
2367
2367
2368
2368
2368
2369
2369
2369
2369
2369
2370
2371
2371
2372
2372
2373
2373
2373
2373
2373
2374
2374
2374
2374
2374
2374
2374
2375
2375
2375
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2377
2377
2377
2377
2378
2378
2379
2379
2379
2380
2380
2381
2381
2381
2381
2381
2381
2381
2381
2382
2383
2383
2383
2383
2384
2384
2384
2384
2384
2384
2384
2384
2385
2385
2385
2385
2385
2386
2386
2386
2386
2386
2387
2387
2387
2387
2387
2387
2387
2388
2388
2388
2388
2388
2389
2389
2389
2389
2389
2389
2389
2389
2389
2389
2389
2389
2390
2390
2391
2392
2392
2392
2392
2392
2392
2393
2394
2395
2396
2397
2397
2398
2398
2398
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2399
2400
2401
2401
2402
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2416
2417
2418
2418
2419
2420
2420
2421
2422
2423
2424
2425
2425
2426
2426
2426
2427
2428
2429
2430
2431
2432
2432
2433
2433
2433
2433
2433
2434
2435
2435
2435
2435
2435
2435
2435
2435
2436
2437
2438
2438
2438
2438
2438
2438
2438
2438
2439
2440
2441
2441
2441
2441
2441
2441
2442
2443
2444
2444
2445
2445
2445
2445
2445
2445
2445
2445
2445
2445
2445
2445
2446
2447
2448
2448
2449
2450
2451
2452
2453
2453
2453
2453
2453
2453
2453
2453
2453
2453
2453
2453
2454
2455
2456
2457
2458
2459
2460
2460
2461
2462
2463
2464
2465
2466
2466
2466
2466
2466
2467
2467
2467
2468
2468
2469
2470
2471
2472
2473
2474
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2483
2484
2484
2485
2485
2486
2487
2488
2489
2490
2490
2491
2491
2492
2493
2494
2495
2495
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2506
2506
2506
2506
2506
2506
2506
2506
2507
2508
2508
2508
2508
2508
2508
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2518
2519
2520
2521
2522
2523
2524
2525
2526
2526
2526
2526
2527
2527
2528
2529
2530
2530
2531
2531
2531
2531
2531
2531
2531
2532
2533
2534
2535
2536
2537
2538
2539
2539
2539
2540
2541
2542
2543
2544
2544
2544
2545
2546
2547
2548
2549
2550
2551
2551
2551
2555
2558
2561
2561
2561
2561
2561
2561
2561
2564
2569
2574
2579
2584
2584
2588
2592
2597
2602
2607
2612
2617
2617
2622
2622
2627
2632
2632
2637
2639
2643
2647
2647
2651
2654
2654
2655
2655
2657
2658
2660
2662
2667
2672
2672
2672
2672
2672
2672
2672
2675
2680
2685
2690
2690
2690
2690
2690
2690
2692
2696
2701
2706
2711
2714
2717
2717
2720
2725
2730
2735
2740
2745
2750
2755
2760
2764
2769
2769
2773
2776
2781
2786
2791
2796
2801
2806
2811
2811
2811
2811
2811
2811
2811
2814
2818
2818
2818
2818
2823
2828
2828
2828
2828
2829
2831
2831
2831
2834
2834
2834
2834
2838
2838
2843
2843
2843
2848
2848
2861
2876
2891
2906
2921
2932
2932
2945
2945
2959
2974
2988
3002
3017
3032
3047
3047
3062
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3077
3078
3079
3080
3080
3080
3081
3082
3083
3083
3083
3083
3084
3085
3085
3085
3086
3086
3087
3087
3087
3087
3088
3089
3090
3090
3090
3090
3090
3090
3090
3090
3090
3090
3091
3091
3092
3092
3092
3092
3092
3092
3092
3092
3092
3092
3092
3092
3092
3092
3093
3094
3095
3095
3095
3096
3097
3097
3097
3097
3098
3099
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3100
3101
3101
3101
3101
3102
3102
3103
3103
3104
3105
3105
3105
3105
3105
3105
3105
3105
3105
3106
3107
3107
3107
3107
3108
3109
3109
3109
3110
3110
3111
3112
3112
3112
3112
3117
3122
3122
3122
3126
3126
3130
3135
3139
3144
3149
3149
3149
3149
3154
3159
3164
3169
3169
3169
3170
3171
3172
3173
