0
0
0
1
1
1
2
2
2
3
3
4
4
5
5
6
7
7
8
9
10
11
11
12
13
14
14
15
16
17
18
18
19
20
21
22
23
25
25
26
28
30
30
33
36
36
38
38
40
43
43
43
45
50
54
56
59
64
70
72
78
88
88
95
107
121
126
144
166
191
214
214
214
214
214
214
214
214
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
217
217
217
218
218
218
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
222
222
222
223
224
225
225
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
227
228
228
228
228
229
229
229
229
229
229
229
229
229
229
229
229
229
229
230
230
231
231
232
233
233
234
234
234
234
235
235
236
237
238
239
240
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
242
242
243
244
245
245
245
245
245
246
246
247
248
248
249
249
249
249
249
251
251
251
254
254
254
254
254
254
254
255
255
256
256
256
257
257
257
257
257
257
257
257
257
258
258
258
258
259
261
263
265
265
268
272
275
277
279
279
279
280
281
282
285
290
290
290
290
293
294
294
295
295
295
298
300
303
303
307
307
307
307
308
311
314
317
321
326
331
332
332
334
334
335
339
339
339
339
339
339
339
340
340
342
342
345
345
345
345
346
346
347
351
354
355
358
361
365
370
371
377
389
398
404
407
414
420
430
442
442
448
455
467
474
474
477
486
498
513
516
519
521
532
532
532
532
535
538
544
552
555
564
576
591
621
640
665
696
706
726
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
758
759
759
759
759
759
759
760
760
760
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
761
762
762
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
764
764
764
765
765
766
766
766
766
766
766
766
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
768
768
768
768
768
768
769
769
769
769
769
769
769
769
769
769
769
769
769
770
770
770
770
770
770
770
770
770
770
771
772
772
773
774
775
775
776
776
776
777
777
777
777
777
777
777
777
777
777
777
777
777
777
778
779
779
779
780
780
781
782
782
783
784
784
784
784
785
785
785
785
785
785
785
785
785
785
785
785
785
785
785
786
786
786
786
786
786
786
787
788
788
789
790
791
791
792
792
792
792
792
792
792
792
792
792
793
793
793
793
794
794
794
794
795
795
795
796
796
796
796
796
796
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
797
798
798
798
798
798
798
798
798
798
799
800
800
800
800
800
800
800
800
800
800
800
800
800
800
800
800
800
801
801
801
801
801
801
801
801
801
802
802
802
802
802
802
804
804
804
804
804
804
807
810
810
810
812
816
820
820
820
820
824
824
828
828
830
831
831
831
831
831
831
833
833
836
836
840
840
843
843
843
843
843
843
843
843
844
846
846
846
849
854
859
864
865
869
869
871
871
871
871
873
873
874
877
880
885
890
895
895
895
895
895
895
897
897
901
905
905
906
906
908
908
908
910
910
910
911
913
913
913
917
920
920
920
920
920
920
920
923
928
928
928
931
936
936
936
936
940
940
940
940
940
940
940
940
944
956
971
986
1000
1015
1030
1039
1051
1056
1061
1073
1088
1098
1108
1123
1138
1153
1163
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1178
1179
1179
1180
1180
1180
1180
1180
1180
1181
1182
1182
1182
1182
1182
1182
1182
1182
1182
1182
1182
1182
1183
1184
1184
1184
1184
1184
1184
1184
1184
1184
1184
1184
1184
1184
1184
1185
1186
1186
1186
1186
1186
1186
1186
1187
1188
1188
1188
1188
1188
1188
1188
1188
1189
1189
1189
1189
1189
1189
1189
1189
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1190
1191
1192
1192
1192
1193
1194
1194
1194
1194
1195
1195
1195
1195
1195
1195
1195
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1197
1198
1198
1198
1198
1198
1198
1198
1202
1206
1210
1214
1218
1218
1218
1222
1226
1230
1230
1234
1234
1238
1243
1248
1252
1257
1261
1265
1269
1270
1271
1272
1273
1274
1275
1276
1276
1276
1277
1277
1277
1278
1278
1278
1279
1279
1280
1280
1281
1281
1282
1283
1283
1284
1285
1286
1287
1287
1288
1289
1290
1290
1291
1292
1293
1294
1294
1295
1296
1297
1298
1298
1300
1304
1305
1308
1313
1314
1316
1321
1322
1326
1329
1333
1337
1342
1346
1351
1356
1361
1366
1366
1373
1384
1386
1396
1409
1414
1426
1439
1452
1452
1466
1485
1500
1511
1511
1511
1511
1511
1511
1511
1511
1511
1511
1512
1512
1512
1512
1512
1512
1512
1513
1514
1515
1515
1515
1515
1515
1515
1516
1516
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1517
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1518
1519
1519
1519
1519
1519
1519
1519
1520
1520
1520
1521
1521
1521
1522
1522
1522
1522
1522
1522
1522
1522
1522
1522
1522
1523
1524
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1538
1538
1538
1539
1539
1539
1540
1541
1541
1542
1543
1543
1544
1544
1545
1545
1546
1546
1546
1546
1547
1547
1547
1547
1548
1549
1550
1550
1551
1551
1551
1552
1553
1554
1555
1556
1557
1558
1558
1558
1558
1558
1558
1558
1558
1559
1559
1560
1560
1560
1561
1561
1562
1563
1564
1565
1566
1567
1568
1569
1569
1570
1570
1571
1571
1571
1571
1572
1572
1572
1572
1572
1572
1572
1572
1572
1572
1572
1572
1572
1572
1573
1573
1574
1574
1575
1576
1576
1577
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1587
1588
1589
1590
1590
1590
1591
1591
1591
1591
1592
1592
1593
1593
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1608
1609
1610
1611
1611
1611
1611
1613
1615
1618
1618
1620
1621
1625
1626
1626
1628
1632
1637
1637
1637
1638
1639
1642
1642
1642
1642
1644
1644
1644
1646
1648
1649
1652
1656
1657
1658
1661
1661
1665
1669
1674
1676
1681
1686
1686
1689
1692
1695
1699
1704
1709
1711
1716
1721
1723
1725
1727
1728
1731
1736
1741
1744
1749
1754
1757
1761
1766
1771
1776
1781
1786
1791
1796
1801
1802
1805
1810
1813
1818
1823
1824
1828
1831
1831
1834
1838
1843
1846
1851
1856
1861
1865
1868
1872
1874
1877
1882
1887
1891
1896
1901
1906
1911
1916
1917
1925
1938
1947
1953
1955
1961
1971
1982
1993
1993
1999
2004
2013
2021
2021
2036
2051
2066
2081
2085
2090
2103
2118
2128
2134
2149
2160
2173
2188
2200
2215
2230
2245
2260
2285
2295
2321
2352
2367
2395
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2426
2427
2427
2427
2427
2427
2427
2427
2427
2427
2427
2427
2427
2427
2427
2428
2428
2428
2429
2429
2429
2429
2430
2430
2430
2430
2430
2430
2430
2430
2430
2430
2430
2430
2431
2431
2432
2432
2432
2433
2433
2433
2433
2433
2433
2433
2433
2433
2434
2435
2436
2437
2438
2438
2438
2438
2438
2438
2439
2439
2440
2440
2440
2441
2441
2441
2441
2441
2441
2441
2441
2441
2442
2442
2442
2443
2444
2444
2444
2444
2444
2444
2444
2444
2445
2445
2445
2445
2445
2445
2445
2446
2447
2447
2447
2447
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2449
2450
2451
2452
2452
2452
2452
2453
2454
2454
2455
2456
2456
2457
2458
2458
2458
2459
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2461
2461
2461
2462
2462
2463
2463
2463
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2472
2472
2473
2474
2474
2475
2476
2477
2478
2479
2480
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2492
2493
2494
2494
2495
2495
2495
2496
2496
2496
2496
2496
2496
2497
2498
2499
2500
2501
2502
2503
2503
2503
2504
2504
2504
2504
2505
2506
2507
2508
2508
2509
2509
2509
2509
2509
2510
2510
2510
2510
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2523
2523
2523
2523
2523
2524
2525
2525
2526
2527
2528
2528
2529
2530
2531
2531
2532
2533
2533
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2545
2546
2546
2547
2547
2548
2549
2549
2550
2551
2552
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2568
2568
2569
2570
2571
2572
2573
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2583
2583
2584
2585
2586
2587
2588
2589
2590
2590
2590
2590
2590
2591
2592
2593
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2617
2617
2617
2617
2617
2618
2619
2620
2620
2621
2622
2622
2623
2624
2625
2626
2626
2626
2627
2628
2629
2630
2630
2630
2631
2632
2633
2634
2634
2634
2638
2638
2638
2638
2640
2640
2645
2650
2650
2650
2653
2657
2662
2662
2664
2667
2672
2677
2682
2685
2687
2692
2694
2694
2694
2698
2703
2708
2710
2715
2717
2722
2726
2731
2731
2733
2736
2739
2741
2741
2745
2749
2753
2753
2753
2757
2762
2767
2772
2777
2782
2787
2792
2797
2802
2806
2809
2814
2819
2824
2829
2834
2839
2844
2844
2847
2847
2847
2848
2853
2858
2863
2868
2871
2875
2875
2879
2884
2886
2890
2894
2897
2902
2907
2912
2917
2922
2927
2927
2927
2927
2927
2927
2927
2932
2937
2937
2937
2942
2947
2947
2947
2950
2955
2955
2955
2955
2958
2958
2958
2958
2963
2975
2989
3004
3019
3034
3049
3060
3072
3084
3096
3108
3123
3138
3152
3167
3182
3197
3212
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3227
3228
3229
3229
3230
3231
3232
3232
3232
3232
3232
3233
3234
3235
3235
3235
3236
3237
3237
3237
3237
3237
3237
3237
3238
3239
3240
3240
3241
3241
3242
3242
3242
3242
3242
3242
3243
3244
3244
3245
3246
3247
3247
3247
3247
3247
3247
3248
3249
3250
3250
3250
3251
3252
3252
3252
3253
3254
3254
3254
3254
3255
3255
3256
3256
3257
3257
3257
3257
3257
3257
3257
3257
3257
3257
3257
3258
3259
3259
3259
3259
3260
3261
3261
3261
3261
3261
3261
3261
3262
3263
3264
3264
3265
3266
3267
3267
3267
3268
3269
3269
3269
3269
3270
3270
3270
3271
3272
3272
3272
3272
3272
3272
3272
3272
3272
3272
3273
3274
3274
3275
3276
3277
3277
3278
3278
3278
3279
3279
3283
3287
3291
3295
3299
3299
3299
3303
3308
3312
3312
3317
3317
3322
3327
3332
3337
3342
3347
3352
3357
3358
3359
3360
3361
3362
3363
3364
