0
0
0
0
0
0
0
1
1
1
1
2
3
4
4
5
5
5
5
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
26
26
26
28
29
29
33
36
37
37
39
42
43
43
45
50
53
53
57
62
68
71
71
81
93
98
109
119
130
139
160
188
204
230
230
230
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
234
234
234
234
234
234
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
236
237
237
237
237
237
237
237
237
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
239
239
239
239
239
239
239
239
239
239
239
240
240
241
241
241
241
241
241
241
241
241
241
241
241
242
242
243
243
243
243
243
243
244
244
244
245
245
246
246
246
246
247
248
248
248
248
248
248
248
248
248
249
249
250
250
251
251
251
251
251
251
252
253
254
255
255
255
256
257
257
258
258
258
259
260
260
260
260
260
260
261
261
262
263
264
264
264
266
267
268
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
271
272
272
272
272
272
275
276
280
280
282
284
287
289
289
289
291
291
293
295
295
295
295
296
298
298
300
301
305
308
311
313
318
322
327
327
327
327
330
333
338
343
343
346
346
351
351
356
360
364
368
372
372
372
372
372
376
378
381
383
383
388
388
393
397
397
397
403
406
409
414
417
420
423
432
442
445
454
468
480
480
483
491
502
504
518
518
528
535
548
558
565
569
576
588
593
601
610
618
630
653
684
710
737
765
780
806
806
806
806
806
806
806
806
806
806
806
807
808
808
808
808
808
808
808
808
808
808
808
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
809
810
810
810
810
810
810
810
810
811
811
812
813
813
813
814
814
814
814
814
814
814
814
814
814
814
814
814
815
815
815
816
816
816
816
816
816
816
816
816
816
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
818
818
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
819
820
820
821
821
822
822
822
822
823
824
825
825
825
825
825
825
825
825
825
825
825
825
825
825
825
826
826
826
826
826
826
826
826
826
826
827
828
829
829
829
830
830
830
830
830
830
831
831
831
831
831
831
832
833
833
833
833
834
835
836
837
837
837
837
837
837
837
837
837
837
837
837
837
838
838
838
838
839
840
840
841
841
842
842
843
843
843
843
844
845
846
846
846
846
846
846
847
847
848
848
848
848
849
849
849
849
849
849
849
849
849
849
849
850
850
850
850
851
851
852
852
852
852
852
852
852
852
852
853
853
853
853
853
853
853
853
853
854
854
855
855
855
855
855
855
856
856
856
856
857
857
857
857
857
857
857
857
857
857
857
857
859
861
861
861
862
862
862
862
862
862
862
863
864
864
864
864
864
864
864
867
872
872
872
873
877
877
878
878
880
882
882
882
883
885
885
885
885
886
886
886
886
889
894
894
897
901
901
901
904
908
908
910
915
920
923
925
925
929
933
933
933
933
933
937
937
941
942
942
945
947
947
947
948
950
950
954
954
954
957
957
957
960
965
965
968
970
974
974
978
978
978
978
980
980
982
984
987
987
991
991
991
992
992
993
1003
1018
1033
1038
1048
1063
1078
1093
1105
1120
1135
1140
1150
1165
1177
1192
1204
1219
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1226
1227
1227
1227
1227
1228
1229
1229
1229
1229
1229
1229
1229
1229
1229
1230
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1231
1232
1232
1232
1233
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1235
1236
1236
1236
1237
1238
1238
1238
1238
1238
1238
1238
1238
1238
1239
1240
1240
1240
1240
1240
1240
1240
1240
1240
1240
1240
1240
1241
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1242
1243
1243
1243
1243
1243
1243
1243
1247
1251
1256
1256
1260
1264
1268
1273
1273
1276
1281
1285
1289
1293
1293
1297
1301
1305
1309
1313
1314
1315
1316
1317
1318
1319
1320
1320
1320
1320
1320
1320
1320
1321
1321
1321
1321
1322
1323
1324
1324
1325
1325
1325
1325
1326
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1344
1345
1345
1348
1350
1355
1359
1364
1366
1370
1375
1379
1381
1386
1389
1394
1399
1404
1409
1412
1419
1423
1425
1434
1448
1460
1472
1484
1496
1502
1522
1547
1565
1598
1598
1599
1600
1600
1600
1600
1600
1600
1600
1600
1600
1600
1600
1600
1600
1600
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1602
1603
1603
1603
1604
1605
1606
1607
1607
1607
1608
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1610
1611
1612
1613
1613
1614
1614
1615
1615
1615
1615
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1616
1617
1617
1617
1617
1617
1617
1618
1619
1619
1619
1620
1620
1621
1622
1623
1624
1625
1626
1627
1627
1627
1627
1627
1627
1627
1628
1629
1630
1631
1632
1633
1633
1633
1633
1633
1633
1633
1633
1634
1634
1635
1635
1635
1635
1635
1635
1635
1635
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1638
1638
1639
1639
1639
1639
1639
1639
1639
1639
1639
1640
1641
1641
1642
1643
1644
1644
1645
1646
1647
1648
1649
1649
1650
1651
1652
1653
1653
1653
1653
1654
1655
1655
1655
1655
1655
1655
1655
1655
1655
1656
1656
1657
1657
1658
1658
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1671
1671
1672
1673
1673
1673
1673
1673
1673
1674
1674
1675
1676
1677
1677
1677
1681
1683
1684
1684
1686
1688
1688
1688
1690
1690
1691
1694
1697
1697
1699
1699
1701
1701
1704
1705
1705
1705
1707
1707
1707
1707
1709
1710
1710
1710
1711
1711
1712
1715
1720
1723
1723
1727
1732
1736
1740
1742
1747
1750
1755
1760
1764
1767
1772
1772
1775
1778
1781
1781
1784
1788
1791
1796
1799
1803
1807
1812
1817
1820
1823
1828
1833
1838
1843
1848
1853
1858
1863
1865
1870
1874
1879
1884
1889
1893
1897
1900
1905
1910
1914
1918
1922
1927
1931
1935
1940
1940
1940
1940
1945
1948
1951
1956
1961
1966
1970
1975
1980
1980
1986
1996
2011
2014
2018
2021
2032
2045
2060
2072
2086
2101
2116
2128
2138
2151
2166
2178
2183
2198
2213
2223
2229
2241
2251
2258
2262
2274
2286
2291
2299
2307
2314
2326
2354
2385
2416
2446
2476
2493
2523
2523
2523
2523
2523
2523
2523
2523
2523
2523
2523
2524
2525
2526
2526
2527
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2528
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2529
2530
2530
2530
2530
2530
2530
2530
2530
2530
2530
2531
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2532
2533
2533
2533
2533
2534
2534
2534
2534
2534
2534
2534
2534
2534
2534
2534
2535
2535
2535
2535
2535
2535
2535
2535
2535
2535
2535
2535
2535
2535
2536
2537
2537
2537
2537
2537
2537
2537
2538
2538
2539
2540
2540
2540
2541
2542
2543
2543
2543
2544
2544
2544
2544
2545
2545
2546
2547
2547
2547
2547
2548
2549
2550
2551
2551
2552
2553
2553
2554
2555
2556
2557
2558
2558
2558
2559
2560
2561
2562
2563
2563
2564
2565
2566
2566
2566
2566
2566
2567
2567
2567
2567
2568
2569
2569
2570
2570
2571
2572
2573
2573
2574
2574
2574
2575
2575
2575
2576
2577
2577
2577
2578
2578
2579
2580
2581
2581
2582
2583
2584
2585
2586
2587
2588
2588
2588
2588
2588
2588
2588
2588
2589
2589
2589
2589
2589
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2598
2599
2600
2600
2600
2601
2601
2601
2601
2601
2602
2602
2603
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2612
2613
2613
2614
2614
2614
2614
2615
2615
2616
2616
2617
2618
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2629
2629
2630
2630
2630
2630
2630
2631
2632
2632
2633
2633
2633
2633
2634
2634
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2644
2645
2646
2647
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2667
2667
2667
2667
2668
2669
2670
2671
2672
2673
2674
2675
2675
2675
2675
2676
2677
2678
2679
2680
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2690
2690
2691
2691
2691
2691
2692
2693
2694
2694
2695
2696
2697
2697
2697
2698
2698
2699
2700
2700
2700
2700
2700
2701
2701
2701
2701
2702
2702
2702
2702
2702
2702
2702
2702
2702
2702
2702
2702
2706
2710
2713
2713
2716
2716
2716
2716
2716
2716
2716
2720
2724
2726
2726
2726
2729
2733
2733
2738
2743
2743
2743
2748
2753
2753
2756
2761
2766
2769
2773
2773
2777
2781
2781
2781
2783
2788
2788
2788
2788
2793
2798
2798
2803
2808
2808
2811
2816
2821
2821
2823
2828
2833
2836
2840
2840
2845
2850
2850
2853
2853
2855
2860
2865
2870
2873
2878
2883
2886
2890
2891
2895
2900
2900
2905
2907
2907
2912
2917
2922
2925
2930
2935
2938
2943
2948
2953
2958
2963
2968
2971
2976
2981
2984
2989
2994
2999
3004
3004
3008
3012
3016
3019
3034
3049
3064
3076
3090
3105
3120
3135
3147
3162
3177
3189
3204
3218
3230
3245
3257
3272
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3284
3285
3286
3286
3286
3287
3288
3288
3288
3288
3288
3289
3290
3290
3290
3291
3292
3293
3293
3293
3294
3295
3295
3295
3295
3296
3297
3298
3298
3298
3299
3300
3300
3300
3300
3300
3300
3300
3300
3300
3300
3300
3300
3300
3300
3301
3302
3303
3303
3304
3305
3306
3306
3306
3307
3308
3308
3308
3308
3308
3308
3308
3308
3308
3309
3310
3311
3311
3312
3313
3314
3314
3314
3314
3314
3315
3316
3316
3317
3318
3319
3319
3319
3320
3320
3321
3321
3321
3321
3321
3321
3322
3323
3324
3324
3324
3325
3326
3326
3326
3326
3326
3326
3326
3326
3326
3327
3327
3328
3328
3329
3329
3329
3330
3330
3331
3331
3335
3339
3344
3344
3348
3352
3356
3361
3361
3365
3370
3374
3379
3384
3384
3389
3394
3399
3404
3409
3410
3411
3412
3413
3414
3415
3416
