0
0
0
0
0
0
0
0
0
1
1
2
2
3
4
4
5
6
7
8
9
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
23
23
23
23
23
23
23
23
23
23
25
25
27
27
27
27
27
27
27
28
29
29
31
32
38
47
51
59
62
74
90
106
134
160
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
203
203
203
203
203
203
203
203
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
205
205
205
205
205
205
205
205
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
207
207
207
207
207
207
207
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
209
209
210
210
210
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
212
212
213
213
213
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
215
215
216
216
216
216
217
217
218
218
219
219
220
220
220
220
220
220
220
220
221
221
222
222
223
223
223
223
224
225
226
227
228
229
229
229
230
231
231
231
232
232
232
232
232
233
234
235
236
236
236
236
236
236
236
237
238
240
240
242
242
242
242
242
242
242
242
242
242
242
242
243
243
243
244
246
246
246
246
246
246
246
247
249
249
249
249
249
249
250
250
252
253
257
257
257
258
258
258
258
261
263
265
265
268
269
273
276
281
284
284
284
284
284
287
289
294
298
300
302
302
305
305
305
305
307
307
310
313
318
321
326
326
329
329
332
334
339
339
343
343
348
348
348
348
348
348
348
348
353
353
357
361
366
366
369
369
375
385
388
394
400
407
407
414
414
420
431
437
442
452
467
481
491
501
516
526
536
544
559
574
574
574
574
574
583
593
608
623
649
674
705
736
764
784
814
814
814
814
814
814
814
814
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
816
816
817
817
818
819
820
821
821
821
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
822
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
823
824
824
824
825
825
825
825
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
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
826
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
828
828
828
828
828
828
829
829
829
829
829
829
829
829
829
829
829
829
830
831
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
832
833
833
833
833
834
835
835
835
835
835
835
835
835
835
835
835
836
837
837
837
837
837
838
838
839
839
839
839
839
839
839
840
840
840
840
841
841
841
841
842
842
842
842
842
842
842
842
842
842
843
843
843
843
843
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
844
845
845
845
845
845
845
845
845
845
846
846
846
847
847
847
847
847
848
849
849
849
849
849
849
850
851
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
852
853
853
854
854
855
856
857
858
859
859
859
859
859
859
859
859
860
861
862
863
864
864
864
864
864
864
864
864
864
864
864
864
864
864
864
864
865
865
865
865
866
867
868
868
869
869
870
871
872
873
874
874
874
874
874
874
874
874
874
874
874
874
874
874
874
874
874
874
875
876
877
877
877
877
878
878
878
878
879
879
879
879
879
879
879
879
879
879
881
881
881
881
881
881
881
881
881
885
885
885
887
891
891
891
891
891
891
891
891
892
894
894
894
894
896
898
898
900
900
902
904
905
907
907
909
911
911
911
911
911
911
911
911
915
919
919
919
919
919
919
920
922
922
925
925
928
932
932
932
936
940
940
940
940
940
940
940
940
940
943
948
953
958
958
958
958
958
961
961
964
968
968
968
968
971
971
975
975
976
976
981
985
988
993
998
1002
1002
1002
1002
1002
1002
1002
1005
1010
1015
1019
1022
1022
1022
1025
1029
1029
1044
1059
1059
1069
1084
1094
1104
1111
1126
1136
1151
1151
1159
1167
1181
1196
1196
1211
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1216
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1217
1218
1219
1219
1219
1220
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1222
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1223
1224
1225
1225
1225
1225
1225
1225
1225
1225
1225
1225
1226
1226
1226
1226
1226
1226
1226
1227
1227
1227
1227
1227
1228
1229
1229
1229
1233
1233
1233
1233
1237
1237
1242
1246
1246
1250
1254
1258
1263
1263
1268
1268
1272
1277
1282
1282
1282
1283
1284
1285
1286
1286
1286
1286
1286
1286
1286
1286
1286
1287
1287
1288
1288
1289
1290
1290
1291
1292
1293
1294
1295
1296
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1309
1309
1311
1313
1316
1319
1321
1325
1330
1330
1335
1339
1344
1348
1353
1357
1362
1366
1370
1375
1378
1385
1395
1403
1414
1426
1436
1451
1463
1475
1489
1514
1539
1560
1587
1587
1587
1587
1587
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1589
1589
1589
1589
1590
1590
1590
1590
1590
1590
1590
1590
1591
1591
1591
1591
1591
1591
1591
1591
1592
1593
1593
1593
1593
1594
1594
1594
1594
1595
1596
1596
1596
1597
1597
1597
1597
1597
1598
1598
1599
1600
1601
1602
1602
1603
1604
1605
1606
1607
1608
1609
1610
1610
1610
1610
1611
1611
1611
1611
1611
1611
1611
1611
1612
1613
1613
1614
1614
1614
1614
1615
1615
1615
1615
1616
1616
1616
1616
1617
1617
1617
1617
1617
1617
1617
1617
1618
1618
1618
1618
1618
1618
1618
1618
1619
1619
1620
1621
1621
1622
1622
1622
1622
1622
1623
1623
1624
1625
1626
1627
1628
1629
1629
1629
1629
1629
1629
1629
1630
1630
1631
1631
1631
1631
1631
1631
1631
1631
1631
1631
1632
1632
1633
1633
1633
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1635
1635
1636
1636
1636
1637
1638
1639
1639
1640
1640
1640
1641
1642
1643
1644
1645
1646
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1655
1656
1657
1658
1659
1660
1660
1661
1661
1662
1662
1663
1663
1663
1663
1663
1663
1663
1663
1664
1664
1665
1665
1666
1667
1668
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1678
1678
1679
1679
1679
1679
1679
1680
1681
1682
1683
1683
1685
1685
1685
1687
1689
1692
1695
1696
1696
1698
1698
1698
1699
1703
1703
1704
1707
1712
1712
1712
1714
1719
1719
1721
1724
1726
1728
1728
1730
1732
1732
1732
1736
1739
1741
1745
1747
1747
1752
1757
1760
1763
1767
1772
1774
1777
1782
1784
1787
1792
1797
1802
1807
1810
1815
1820
1823
1828
1833
1838
1838
1840
1843
1845
1846
1851
1856
1861
1866
1871
1871
1875
1880
1885
1890
1895
1899
1904
1909
1914
1918
1923
1928
1933
1936
1941
1945
1950
1953
1958
1963
1968
1970
1973
1974
1977
1981
1985
1988
1993
1998
2003
2008
2013
2018
2029
2041
2056
2071
2078
2090
2102
2107
2107
2114
2121
2135
2150
2164
2174
2189
2204
2219
2234
2249
2264
2279
2288
2302
2317
2330
2330
2330
2330
2330
2339
2354
2369
2382
2413
2437
2468
2494
2517
2534
2563
2563
2563
2563
2563
2563
2563
2563
2564
2564
2564
2564
2564
2564
2564
2564
2564
2564
2564
2564
2564
2565
2565
2565
2565
2565
2565
2565
2565
2565
2565
2565
2565
2565
2565
2566
2566
2567
2567
2568
2569
2570
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2571
2572
2572
2572
2573
2574
2574
2574
2575
2575
2575
2575
2575
2575
2575
2575
2575
2575
2575
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2577
2577
2577
2578
2578
2579
2580
2580
2580
2580
2580
2580
2580
2580
2580
2580
2580
2580
2581
2581
2581
2581
2582
2582
2582
2583
2583
2583
2583
2583
2583
2584
2584
2584
2584
2584
2584
2584
2585
2585
2585
2585
2585
2585
2585
2585
2586
2586
2586
2586
2587
2588
2589
2590
2591
2591
2592
2593
2594
2594
2594
2594
2594
2594
2594
2595
2596
2596
2596
2596
2596
2597
2598
2599
2599
2600
2601
2602
2602
2603
2603
2604
2604
2605
2605
2606
2606
2606
2606
2606
2606
2606
2606
2607
2607
2608
2609
2610
2610
2610
2610
2610
2611
2611
2611
2612
2613
2614
2614
2615
2615
2616
2617
2618
2618
2618
2618
2619
2620
2621
2622
2623
2624
2624
2624
2624
2624
2624
2624
2625
2625
2626
2627
2628
2629
2629
2629
2629
2629
2630
2631
2632
2633
2633
2633
2633
2633
2633
2634
2634
2634
2635
2636
2637
2637
2638
2639
2640
2640
2640
2640
2640
2640
2640
2640
2640
2641
2641
2641
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2651
2651
2652
2652
2653
2653
2653
2653
2653
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2663
2664
2665
2666
2667
2668
2668
2669
2670
2670
2670
2670
2671
2672
2673
2673
2674
2675
2676
2677
2678
2679
2680
2680
2681
2682
2683
2684
2685
2686
2687
2687
2687
2687
2687
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2696
2697
2698
2699
2700
2701
2701
2701
2701
2701
2701
2701
2702
2703
2704
2705
2706
2707
2707
2707
2707
2707
2707
2708
2709
2710
2710
2711
2712
2712
2712
2712
2712
2713
2714
2715
2715
2716
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2725
2726
2727
2728
2728
2729
2730
2731
2732
2733
2734
2735
2735
2736
2736
2736
2736
2736
2736
2736
2736
2740
2740
2742
2742
2742
2743
2745
2745
2750
2755
2755
2757
2761
2766
2766
2766
2766
2766
2766
2770
2772
2777
2782
2782
2782
2784
2786
2790
2790
2794
2794
2798
2803
2804
2808
2808
2812
2814
2814
2814
2814
2816
2816
2816
2816
2821
2826
2826
2829
2833
2833
2837
2841
2845
2847
2851
2854
2859
2864
2868
2872
2877
2882
2882
2882
2882
2882
2882
2882
2885
2889
2893
2898
2903
2908
2908
2908
2908
2908
2913
2918
2923
2928
2932
2932
2932
2936
2941
2946
2950
2953
2958
2963
2967
2972
2977
2982
2987
2987
2991
2991
2991
2991
2991
2996
3001
3006
3011
3015
3020
3025
3030
3035
3035
3050
3065
3065
3080
3095
3110
3125
3137
3152
3167
3182
3182
3197
3212
3225
3240
3240
3255
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3269
3270
3270
3270
3270
3270
3270
3270
3270
3271
3272
3272
3272
3272
3272
3272
3272
3272
3272
3273
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3274
3275
3276
3276
3276
3277
3278
3279
3279
3280
3281
3282
3282
3282
3282
3283
3284
3284
3284
3285
3286
3286
3286
3286
3287
3288
3288
3288
3288
3289
3290
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3291
3292
3293
3294
3294
3294
3294
3294
3294
3294
3294
3294
3295
3296
3296
3296
3296
3297
3297
3297
3298
3298
3298
3299
3299
3300
3301
3301
3301
3305
3305
3305
3305
3310
3310
3315
3319
3319
3323
3328
3333
3338
3338
3343
3343
3348
3353
3358
3358
3358
3359
3360
3361
3362
