0
0
1
1
2
3
4
4
5
5
6
7
8
9
10
11
15
15
15
19
19
23
26
30
33
37
47
57
59
69
78
87
105
123
130
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
146
146
147
147
148
148
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
151
151
152
153
153
153
153
154
155
156
156
156
156
156
157
158
159
160
161
162
163
164
164
164
164
164
165
165
165
165
165
166
166
166
166
167
167
167
168
168
169
169
170
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
172
173
174
175
176
177
178
179
180
180
181
181
181
181
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
197
197
197
197
198
199
200
201
201
203
205
207
207
207
207
207
208
210
213
215
215
215
217
220
220
220
224
224
225
227
230
231
231
231
232
232
232
234
237
238
242
247
251
254
259
264
265
266
267
267
268
271
275
279
283
287
292
297
302
307
312
316
321
326
328
333
335
339
344
348
352
355
355
359
364
369
369
369
369
370
371
373
377
381
386
390
395
400
406
416
428
437
440
444
448
455
458
468
478
489
502
516
530
541
554
567
581
592
595
605
615
624
624
628
636
638
644
654
664
673
691
701
710
735
759
775
782
799
799
799
799
799
799
799
799
799
799
799
799
799
799
799
800
800
800
800
801
801
801
801
802
802
802
802
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
805
806
806
806
806
806
806
806
807
807
808
809
809
809
809
809
809
809
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
810
811
811
811
811
811
811
811
811
811
812
812
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
813
814
814
814
814
814
815
815
815
815
816
816
816
817
817
817
817
817
817
817
817
817
817
817
817
817
817
817
818
818
818
819
820
820
821
821
822
822
823
824
825
825
825
826
826
827
827
827
827
827
827
827
827
827
827
827
828
828
829
830
831
832
832
833
834
834
834
834
834
834
835
836
837
838
838
838
838
838
838
838
839
839
839
839
839
839
840
841
842
842
842
842
842
842
842
842
843
843
843
844
845
846
847
847
847
847
848
848
849
849
850
850
850
850
850
850
850
850
850
850
851
851
852
852
852
852
853
854
855
856
856
857
857
857
857
857
857
857
857
857
857
857
857
857
857
858
858
858
859
860
861
861
861
861
861
861
862
862
862
863
864
864
865
865
865
865
865
866
866
866
867
868
869
870
871
871
871
871
871
871
871
871
872
872
872
872
872
872
872
872
872
872
872
872
872
872
873
874
875
876
877
878
879
880
881
881
882
883
884
885
886
887
888
889
890
890
890
891
891
891
891
892
893
893
893
893
893
893
893
893
893
893
893
894
895
895
896
897
898
898
899
899
900
901
902
902
902
902
902
902
902
902
902
902
902
902
902
902
903
903
904
904
905
906
907
907
907
907
907
907
907
907
908
908
908
908
908
911
913
914
914
914
915
915
917
921
923
927
932
937
937
939
943
948
951
956
956
961
963
967
971
975
975
975
979
981
985
989
993
998
999
1001
1003
1004
1004
1005
1005
1007
1010
1013
1016
1020
1025
1029
1033
1037
1042
1045
1049
1052
1056
1060
1060
1060
1060
1060
1063
1067
1072
1076
1078
1081
1083
1085
1086
1086
1090
1095
1100
1103
1103
1108
1111
1114
1117
1122
1126
1126
1129
1132
1135
1136
1138
1142
1147
1147
1147
1149
1149
1149
1149
1149
1149
1151
1155
1160
1165
1168
1172
1177
1180
1183
1184
1189
1194
1195
1198
1198
1199
1200
1205
1205
1208
1211
1216
1219
1221
1225
1230
1235
1235
1235
1236
1236
1239
1241
1243
1247
1252
1256
1256
1256
1258
1261
1264
1275
1288
1301
1315
1328
1334
1346
1352
1363
1374
1384
1391
1400
1414
1427
1441
1450
1462
1467
1481
1492
1505
1517
1528
1542
1551
1563
1571
1571
1571
1571
1571
1571
1571
1571
1571
1571
1571
1572
1572
1572
1572
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1573
1574
1574
1574
1574
1575
1575
1575
1575
1575
1575
1575
1575
1576
1577
1577
1577
1577
1578
1578
1578
1578
1579
1580
1580
1581
1582
1582
1582
1582
1583
1583
1583
1584
1585
1586
1587
1587
1588
1589
1589
1589
1589
1589
1590
1590
1591
1591
1591
1592
1593
1593
1593
1594
1595
1595
1596
1596
1596
1596
1596
1596
1597
1598
1598
1599
1600
1600
1600
1601
1601
1601
1601
1601
1601
1601
1602
1602
1602
1603
1603
1603
1604
1604
1605
1605
1605
1605
1606
1606
1606
1607
1607
1608
1609
1610
1611
1611
1612
1613
1613
1613
1613
1613
1613
1613
1613
1614
1615
1615
1615
1615
1615
1615
1615
1616
1616
1617
1617
1618
1619
1619
1619
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1621
1622
1623
1624
1624
1624
1624
1624
1625
1625
1626
1627
1628
1628
1628
1629
1629
1630
1630
1631
1631
1632
1633
1634
1635
1636
1637
1637
1637
1637
1637
1637
1637
1638
1639
1640
1641
1642
1642
1642
1643
1644
1644
1645
1645
1645
1646
1647
1647
1647
1647
1647
1647
1647
1648
1648
1649
1650
1651
1652
1653
1654
1655
1655
1656
1657
1657
1657
1657
1658
1658
1659
1659
1659
1659
1660
1661
1661
1661
1662
1663
1663
1664
1664
1664
1665
1665
1665
1665
1666
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1667
1668
1668
1668
1669
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1671
1671
1672
1672
1672
1673
1673
1678
1683
1683
1687
1692
1697
1702
1706
1711
1716
1720
1724
1729
1734
1739
1744
1749
1752
1757
1761
1765
1768
1773
1777
1782
1782
1786
1790
1794
1799
1799
1804
1807
1812
1817
1822
1826
1830
1835
1838
1843
1848
1852
1857
1862
1862
1866
1871
1876
1876
1876
1877
1877
1877
1877
1878
1879
1880
1880
1880
1881
1882
1882
1883
1883
1884
1885
1885
1886
1887
1887
1888
1889
1889
1890
1891
1892
1893
1893
1894
1894
1894
1895
1896
1897
1898
1899
1900
1901
1901
1902
1902
1903
1904
1905
1905
1906
1906
1907
1908
1909
1910
1911
1912
1913
1913
1913
1917
1917
1921
1924
1929
1932
1937
1951
1965
1966
1980
1992
2004
2030
2056
2065
2084
2084
2084
2084
2084
2084
2084
2084
2084
2084
2084
2084
2084
2084
2085
2086
2086
2086
2086
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2087
2088
2089
2089
2090
2090
2091
2091
2092
2092
2092
2092
2092
2092
2092
2092
2092
2092
2092
2092
2092
2092
2093
2094
2094
2095
2096
2096
2096
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2111
2111
2111
2111
2112
2112
2113
2114
2115
2116
2117
2117
2117
2118
2118
2118
2119
2119
2120
2120
2121
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2123
2123
2124
2125
2126
2127
2128
2129
2130
2131
2131
2132
2132
2132
2132
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2148
2148
2148
2148
2149
2150
2151
2152
2152
2153
2155
2158
2158
2162
2167
2167
2167
2169
2172
2175
2177
2182
2187
2190
2190
2191
2196
2196
2196
2197
2201
2202
2202
2206
2210
2210
2210
2212
2216
2219
2221
2225
2230
2233
2238
2243
2244
2245
2247
2252
2256
2261
2265
2269
2274
2277
2282
2287
2292
2297
2302
2307
2312
2317
2318
2323
2325
2330
2335
2339
2340
2345
2346
2351
2356
2361
2362
2365
2365
2369
2372
2375
2379
2384
2389
2394
2399
2404
2409
2422
2435
2447
2447
2454
2464
2473
2476
2489
2503
2515
2529
2544
2559
2571
2585
2599
2614
2623
2626
2639
2653
2661
2661
2673
2685
2687
2693
2706
2720
2732
2758
2776
2792
2820
2847
2865
2874
2899
2899
2899
2899
2899
2899
2899
2899
2899
2899
2899
2899
2899
2900
2901
2902
2902
2903
2903
2904
2904
2904
2904
2905
2905
2905
2905
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2906
2907
2908
2909
2909
2909
2910
2911
2911
2911
2912
2913
2913
2913
2913
2913
2913
2913
2914
2914
2915
2916
2916
2916
2916
2916
2916
2917
2918
2918
2918
2919
2919
2919
2919
2919
2919
2919
2919
2919
2919
2919
2919
2919
2920
2920
2920
2920
2920
2921
2921
2921
2922
2923
2924
2925
2925
2925
2926
2927
2927
2927
2927
2927
2927
2927
2927
2927
2927
2927
2928
2928
2928
2929
2929
2929
2929
2930
2931
2931
2931
2932
2932
2932
2932
2932
2933
2934
2935
2935
2935
2935
2935
2935
2935
2936
2936
2937
2937
2937
2938
2939
2940
2941
2942
2943
2944
2944
2944
2945
2946
2946
2946
2947
2947
2947
2947
2947
2947
2947
2947
2947
2947
2948
2949
2950
2950
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2963
2964
2965
2966
2967
2968
2968
2968
2968
2968
2968
2968
2968
2968
2968
2969
2969
2970
2971
2972
2973
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2987
2987
2987
2988
2988
2988
2988
2988
2988
2989
2990
2991
2991
2991
2991
2991
2992
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3004
3005
3005
3006
3006
3006
3006
3006
3006
3006
3006
3006
3006
3007
3007
3008
3008
3008
3009
3010
3011
3012
3013
3014
3015
3016
3016
3016
3016
3016
3016
3016
3016
3016
3016
3016
3016
3016
3017
3018
3019
3020
3021
3022
3022
3023
3024
3025
3026
3027
3027
3027
3028
3029
3029
3030
3030
3030
3030
3030
3031
3031
3031
3032
3033
3034
3035
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
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3074
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3083
3083
3084
3085
3086
3087
3087
3088
3089
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3099
3099
3099
3100
3101
3102
3103
3104
3105
3105
3105
3106
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3115
3115
3116
3117
3118
3119
3120
3120
3120
3124
3129
3130
3130
3130
3132
3137
3142
3147
3151
3155
3159
3164
3164
3169
3174
3179
3182
3187
3191
3196
3198
3202
3206
3210
3210
3213
3218
3221
3225
3227
3231
3236
3237
3240
3243
3243
3243
3243
3247
3252
3257
3262
3266
3271
3276
3281
3286
3291
3296
3301
3301
3305
3310
3315
3315
3315
3315
3315
3317
3322
3327
3332
3337
3341
3341
3341
3342
3346
3351
3356
3361
3366
3370
3375
3380
3380
3382
3387
3391
3391
3396
3401
3404
3405
3407
3412
3417
3417
3417
3422
3422
3423
3425
3428
3431
3436
3441
3446
3451
3454
3459
3464
3467
3471
3476
3481
3486
3487
3492
3492
3493
3498
3503
3507
3510
3515
3520
3522
3527
3532
3537
3542
3545
3549
3552
3557
3562
3564
3569
3574
3579
3584
3585
3589
3594
3599
3602
3614
3628
3643
3658
3672
3684
3698
3710
3722
3734
3745
3754
3766
3781
3796
3810
3822
3836
3851
3866
3878
3893
3907
3918
3933
3945
3959
3971
3971
3971
3971
3971
3971
3971
3971
3971
3971
3971
3972
3972
3972
3972
3973
3973
3973
3973
3973
3973
3973
3974
3974
3975
3975
3975
3976
3977
3977
3978
3979
3979
3979
3979
3980
3980
3980
3980
3980
3980
3980
3980
3981
3982
3982
3982
3982
3983
3983
3983
3983
3984
3985
3985
3986
3987
3987
3987
3988
3989
3989
3989
3990
3991
3991
3992
3992
3993
3994
3994
3994
3994
3994
3995
3996
3997
3997
3998
3999
4000
4001
4001
4002
4003
4003
4004
4004
4004
4004
4005
4005
4006
4007
4007
4008
4009
4010
4010
4011
4011
4012
4013
4013
4013
4014
4015
4016
4017
4018
4019
4019
4020
4020
4021
4021
4021
4022
4022
4023
4023
4024
4024
4025
4026
4027
4028
4028
4029
4029
4029
4029
4029
4029
4029
4029
4029
4030
4031
4031
4032
4033
4033
4033
4033
4034
4034
4034
4035
4036
4037
4037
4037
4038
4039
4039
4039
4039
4039
4039
4039
4040
4041
4042
4043
4044
4045
4045
4045
4045
4045
4046
4047
4048
4049
4050
4050
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4062
4063
4063
4063
4063
4063
4064
4065
4066
4067
4067
4068
4069
4070
4071
4071
4072
4073
4074
4075
4076
4076
4076
4076
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4092
4093
4093
4094
4095
4095
4096
4097
4098
4099
4100
4101
4102
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4116
4116
4116
4116
4116
4116
4116
4117
4118
4118
4118
4118
4118
4119
4120
4120
4120
4121
4122
4122
4122
4122
4123
4124
4124
4124
4124
4125
4126
4126
4126
4126
4127
4127
4127
4127
4128
4128
4129
4129
4129
4130
4130
4135
4140
4140
4145
4150
4155
4160
4165
4170
4175
4180
4185
4190
4195
4200
4204
4209
4214
4219
4224
4229
4234
4239
4243
4248
4248
4253
4258
4262
4267
4267
4272
4277
4282
4287
4292
4297
4302
4307
4311
4316
4321
4326
4331
4336
4336
4341
4346
4351
4351
4351
4352
4352
4352
4352
4353
4354
4355
4355
4355
4356
4357
4357
4358
4358
4359
4360
4360
4361
4362
4362
4363
4364
4364
4365
4366
4367
4368
4368
4369
4369
4369
4370
4371
4372
4373
4374
4375
4376
