0
0
0
0
0
0
1
2
2
2
3
3
3
3
3
3
4
4
4
4
5
6
7
7
8
8
9
10
11
11
11
12
12
13
14
15
17
17
17
18
18
19
22
22
24
26
26
27
27
31
33
38
41
46
51
55
58
60
62
65
75
88
101
107
121
135
142
166
192
217
253
253
253
253
253
253
253
253
253
253
254
254
254
254
254
255
255
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
258
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
264
264
265
265
265
265
266
267
267
267
267
267
267
267
267
268
269
269
269
270
271
271
272
272
273
274
275
276
276
276
276
276
276
276
276
276
277
278
278
278
279
279
280
280
281
282
283
284
284
284
285
285
286
286
287
288
289
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
292
292
292
294
294
296
296
296
298
298
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
302
302
302
302
304
304
309
309
314
318
318
318
318
321
321
324
324
324
327
331
332
332
332
333
335
338
343
344
348
353
353
353
353
353
353
353
356
356
356
360
360
360
360
362
364
365
368
369
373
377
379
379
379
379
382
383
386
389
393
398
398
398
398
399
399
399
399
399
399
399
399
408
415
421
436
438
445
452
462
473
473
479
481
490
503
503
509
510
518
532
532
535
543
551
565
565
567
574
585
599
602
602
608
611
622
651
671
696
721
749
780
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
803
804
804
804
804
804
804
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
805
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
806
807
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
810
810
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
812
813
813
813
813
813
813
814
815
815
816
817
817
817
817
817
817
818
819
819
820
821
821
821
821
821
821
822
823
823
824
825
825
825
826
827
827
827
827
827
827
828
828
828
828
828
828
828
828
828
828
829
829
829
829
829
829
829
829
829
829
829
829
829
829
829
829
830
831
831
832
833
833
833
833
833
833
833
834
834
834
835
835
835
835
835
835
835
836
836
836
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
837
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
838
839
839
839
839
839
839
839
839
839
839
839
839
839
839
839
839
839
839
839
841
841
843
847
847
847
847
847
847
847
849
852
852
856
856
858
860
860
864
864
864
864
864
864
864
864
864
864
864
864
864
864
865
868
868
871
871
872
876
876
879
884
889
894
894
897
902
907
912
914
914
914
915
918
918
918
918
918
918
920
920
924
928
928
928
928
928
932
932
932
932
932
936
936
936
936
938
941
941
941
941
941
941
944
949
949
949
949
949
949
949
949
949
949
949
949
953
953
956
956
956
961
968
983
993
1008
1023
1033
1045
1050
1062
1074
1078
1093
1107
1121
1136
1151
1161
1170
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1186
1187
1187
1187
1187
1188
1189
1189
1189
1189
1189
1189
1189
1189
1189
1189
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
1191
1192
1192
1192
1192
1192
1192
1192
1192
1192
1192
1192
1192
1192
1192
1193
1194
1194
1194
1194
1194
1194
1195
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1196
1197
1198
1198
1198
1198
1198
1198
1198
1198
1198
1198
1199
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1201
1202
1202
1206
1206
1209
1213
1213
1217
1221
1225
1229
1233
1237
1241
1246
1246
1250
1255
1259
1263
1263
1267
1268
1269
1270
1271
1272
1273
1274
1274
1274
1274
1274
1274
1275
1276
1276
1276
1277
1277
1277
1277
1277
1277
1278
1278
1278
1278
1279
1280
1281
1281
1282
1282
1283
1284
1285
1285
1285
1286
1286
1287
1288
1289
1291
1291
1291
1292
1292
1294
1297
1297
1300
1302
1303
1304
1305
1309
1312
1317
1320
1325
1330
1334
1338
1340
1342
1345
1356
1369
1382
1388
1402
1416
1423
1447
1473
1498
1534
1534
1534
1534
1534
1534
1534
1534
1534
1534
1535
1535
1535
1535
1535
1536
1536
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1537
1538
1538
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1539
1540
1540
1540
1540
1540
1540
1540
1540
1540
1540
1540
1540
1540
1541
1542
1542
1542
1542
1542
1542
1543
1543
1543
1543
1543
1543
1543
1543
1543
1543
1543
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1544
1545
1545
1545
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1546
1547
1547
1547
1547
1547
1547
1547
1547
1547
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1548
1549
1550
1551
1551
1552
1552
1552
1553
1554
1555
1555
1555
1555
1555
1555
1555
1555
1556
1557
1557
1557
1558
1559
1559
1560
1560
1561
1562
1563
1564
1564
1564
1564
1564
1564
1564
1564
1565
1566
1567
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1586
1588
1588
1588
1590
1590
1592
1592
1592
1594
1594
1596
1596
1596
1596
1596
1597
1597
1597
1597
1597
1597
1597
1597
1598
1598
1598
1598
1598
1599
1600
1600
1600
1600
1602
1602
1607
1607
1612
1616
1616
1616
1616
1619
1619
1622
1622
1622
1625
1629
1630
1630
1630
1631
1633
1636
1641
1642
1646
1651
1651
1651
1651
1651
1651
1652
1655
1657
1660
1665
1665
1665
1665
1667
1670
1671
1674
1677
1681
1686
1688
1688
1690
1690
1693
1694
1697
1700
1704
1709
1709
1709
1709
1710
1711
1711
1711
1711
1715
1716
1716
1724
1732
1739
1754
1756
1763
1770
1780
1791
1791
1797
1799
1808
1821
1821
1827
1828
1836
1850
1850
1853
1861
1869
1884
1884
1886
1893
1904
1918
1920
1920
1926
1929
1940
1970
1990
2015
2041
2070
2101
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2125
2125
2125
2125
2125
2125
2125
2125
2125
2125
2125
2125
2125
2125
2126
2126
2126
2126
2127
2127
2127
2127
2127
2127
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2128
2129
2129
2129
2129
2129
2129
2129
2129
2129
2129
2130
2130
2130
2130
2130
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2131
2132
2133
2133
2133
2133
2133
2133
2134
2135
2135
2136
2136
2136
2136
2136
2136
2136
2136
2136
2137
2138
2139
2139
2139
2139
2140
2141
2141
2142
2142
2143
2143
2143
2143
2143
2144
2145
2145
2146
2146
2147
2147
2147
2147
2147
2148
2149
2149
2149
2149
2150
2150
2150
2150
2150
2150
2150
2150
2151
2151
2151
2151
2151
2151
2151
2151
2152
2152
2152
2152
2152
2152
2153
2153
2153
2153
2153
2153
2153
2153
2153
2153
2153
2153
2153
2154
2155
2155
2155
2155
2155
2155
2156
2157
2157
2158
2159
2159
2159
2159
2159
2159
2160
2161
2161
2162
2163
2163
2163
2163
2163
2163
2164
2164
2164
2165
2166
2166
2166
2167
2168
2168
2168
2168
2168
2168
2169
2169
2169
2169
2169
2169
2169
2169
2169
2169
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2170
2171
2172
2173
2174
2175
2175
2175
2175
2175
2175
2175
2176
2176
2176
2177
2177
2177
2177
2177
2177
2177
2178
2178
2178
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2179
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2180
2181
2181
2181
2181
2182
2182
2182
2183
2183
2183
2184
2184
2184
2184
2184
2184
2184
2184
2184
2184
2184
2184
2184
2184
2186
2186
2188
2188
2190
2194
2194
2194
2194
2195
2197
2197
2199
2203
2203
2207
2207
2209
2212
2212
2216
2216
2216
2217
2217
2219
2219
2219
2219
2219
2219
2219
2219
2219
2220
2223
2223
2226
2226
2227
2231
2231
2234
2239
2244
2249
2249
2252
2257
2262
2267
2269
2269
2269
2270
2273
2273
2273
2273
2273
2273
2275
2275
2279
2283
2283
2283
2283
2283
2287
2287
2287
2287
2287
2291
2291
2291
2291
2294
2297
2297
2297
2297
2297
2297
2300
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2309
2309
2312
2312
2312
2317
2324
2339
2349
2364
2379
2389
2401
2406
2418
2430
2434
2449
2463
2477
2491
2506
2516
2529
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2544
2545
2546
2546
2546
2546
2547
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2548
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2549
2550
2551
2551
2551
2551
2551
2551
2551
2551
2551
2551
2551
2551
2551
2551
2552
2553
2553
2553
2553
2553
2553
2554
2555
2555
2555
2555
2555
2555
2555
2555
2555
2555
2555
2556
2556
2556
2556
2556
2557
2558
2558
2558
2558
2558
2558
2558
2558
2558
2558
2559
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2560
2561
2562
2562
2566
2566
2570
2574
2574
2578
2582
2586
2590
2594
2598
2602
2607
2607
2612
2617
2621
2625
2627
2631
2632
2633
2634
2635
2636
2637
2638
2638
2638
2638
2638
2638
2639
2640
2640
2640
2641
2641
2641
2641
2641
2641
2642
2642
2642
2642
2643
2644
2645
2645
2646
2646
2647
2648
2649
2649
2649
2650
2650
2651
2652
2653
2655
2656
2659
2660
2662
2667
2672
2675
2680
2685
2689
2694
2698
2703
2708
2713
2718
2723
2728
2733
2737
2742
2750
2761
2775
2789
2804
2815
2830
2845
2851
2875
2900
2926
2963
2963
2963
2963
2963
2963
2963
2963
2963
2963
2964
2964
2964
2964
2964
2965
2965
2966
2966
2966
2966
2966
2967
2967
2967
2968
2968
2968
2968
2968
2969
2969
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2970
2971
2971
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2972
2973
2973
2973
2973
2973
2973
2973
2973
2973
2973
2973
2973
2973
2974
2975
2975
2975
2975
2975
2975
2976
2976
2976
2976
2976
2977
2977
2978
2979
2980
2981
2982
2982
2982
2983
2984
2984
2985
2986
2987
2988
2988
2988
2989
2990
2991
2991
2992
2993
2994
2995
2996
2996
2996
2997
2998
2999
3000
3001
3002
3003
3004
3004
3005
3005
3006
3006
3007
3008
3008
3008
3009
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3020
3021
3021
3021
3021
3021
3021
3021
3021
3022
3023
3023
3023
3023
3024
3024
3025
3026
3027
3028
3028
3029
3029
3029
3030
3031
3032
3032
3032
3032
3032
3032
3032
3032
3033
3034
3034
3034
3035
3036
3036
3037
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3079
3080
3080
3080
3081
3081
3082
3082
3082
3082
3084
3087
3087
3089
3089
3090
3093
3093
3097
3097
3097
3097
3097
3099
3100
3103
3105
3106
3108
3109
3112
3116
3116
3116
3116
3116
3119
3124
3126
3129
3132
3137
3142
3147
3150
3155
3160
3160
3160
3160
3163
3167
3171
3176
3178
3183
3188
3189
3190
3192
3194
3198
3203
3208
3212
3217
3222
3224
3227
3232
3237
3242
3247
3252
3255
3260
3265
3269
3273
3277
3282
3286
3291
3296
3301
3306
3311
3316
3319
3324
3328
3331
3336
3341
3346
3351
3356
3358
3360
3363
3366
3370
3375
3378
3381
3386
3391
3391
3399
3407
3413
3428
3430
3436
3448
3460
3472
3472
3478
3481
3491
3505
3505
3515
3528
3543
3558
3568
3583
3598
3613
3628
3643
3658
3673
3688
3703
3708
3718
3732
3746
3758
3789
3810
3836
3867
3896
3927
3953
3953
3953
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3954
3955
3955
3955
3955
3955
3956
3956
3956
3956
3956
3956
3956
3956
3957
3957
3957
3957
3957
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3959
3959
3959
3959
3959
3960
3961
3962
3962
3963
3963
3964
3965
3966
3966
3966
3966
3966
3967
3967
3967
3967
3967
3967
3968
3968
3968
3968
3968
3968
3968
3969
3969
3969
3969
3969
3970
3971
3972
3972
3972
3972
3973
3973
3973
3973
3973
3973
3973
3973
3973
3973
3973
3973
3974
3974
3974
3974
3974
3974
3974
3974
3974
3974
3974
3974
3975
3975
3975
3975
3975
3975
3975
3976
3976
3976
3976
3976
3977
3977
3977
3977
3978
3979
3980
3980
3981
3981
3982
3982
3983
3984
3984
3985
3986
3987
3988
3988
3988
3988
3988
3988
3988
3988
3988
3989
3990
3990
3990
3990
3990
3991
3992
3993
3993
3994
3994
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4004
4005
4006
4007
4007
4008
4009
4010
4011
4012
4012
4013
4014
4015
4016
4017
4017
4018
4018
4018
4019
4020
4021
4022
4023
4024
4024
4025
4025
4026
4027
4028
4029
4029
4029
4030
4031
4032
4033
4033
4033
4034
4035
4036
4037
4038
4039
4040
4040
4040
4040
4041
4042
4043
4043
4044
4044
4044
4045
4045
4045
4045
4046
4047
4047
4048
4049
4050
4051
4052
4053
4053
4054
4055
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4073
4074
4075
4076
4077
4078
4079
4079
4079
4080
4081
4082
4083
4083
4084
4085
4086
4087
4088
4089
4089
4089
4090
4091
4092
4093
4094
4095
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4135
4136
4136
4137
4138
4138
4138
4138
4138
4138
4139
4140
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4157
4157
4157
4158
4159
4159
4160
4161
4162
4163
4164
4164
4165
4165
4165
4165
4166
4167
4168
4169
4170
4170
4170
4171
4172
4173
4174
4175
4176
4177
4177
4177
4180
4180
4180
4180
4180
4183
4183
4185
4189
4189
4193
4193
4197
4201
4201
4205
4205
4208
4212
4212
4216
4221
4221
4226
4229
4234
4239
4244
4249
4251
4255
4259
4259
4263
4264
4266
4268
4270
4271
4271
4271
4271
4274
4279
4279
4283
4287
4292
4297
4301
4306
4311
4316
4321
4325
4330
4335
4340
4345
4347
4351
4356
4361
4365
4368
4370
4370
4372
4374
4379
4384
4389
4394
4398
4403
4408
4412
4417
4421
4426
4431
4436
4441
4445
4450
4455
4460
4465
4465
4465
4465
4465
4465
4470
4475
4475
4475
4475
4478
4482
4482
4482
4486
4486
4486
4486
4491
4491
4496
4496
4496
4501
4513
4527
4542
4557
4572
4587
4599
4611
4623
4635
4647
4662
4676
4691
4706
4721
4736
4751
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4766
4767
4768
4768
4768
4768
4769
4770
4770
4770
4770
4770
4770
4770
4770
4771
4772
4772
4772
4773
4774
4775
4775
4775
4776
4777
4778
4778
4778
4779
4779
4780
4780
4780
4780
4780
4781
4782
4782
4782
4782
4782
4783
4783
4784
4784
4784
4785
4785
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4786
4787
4788
4789
4789
4789
4790
4791
4791
4791
4791
4792
4793
4793
4793
4793
4794
4795
4796
4796
4796
4796
4796
4797
4798
4799
4799
4799
4799
4800
4801
4801
4801
4802
4802
4802
4803
4804
4804
4805
4805
4806
4807
4807
4807
4807
4807
4807
4807
4807
4807
4808
4809
4810
4810
4810
4810
4811
4812
4812
4812
4813
4813
4813
4814
4814
4814
4815
4815
4816
4817
4817
4821
4821
4825
4829
4829
4833
4838
4842
4846
4850
4855
4860
4865
4865
4870
4875
4880
4885
4890
4895
4896
4897
4898
4899
4900
4901
4902
