0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
5
5
5
5
5
5
6
6
6
7
8
8
8
10
11
14
21
23
30
33
44
59
74
100
123
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
161
161
161
161
161
161
161
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
163
163
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
165
165
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
167
167
168
168
169
169
169
169
169
169
169
169
170
170
171
171
172
172
172
172
172
173
174
175
176
176
176
176
177
178
178
178
179
179
179
179
179
180
180
181
182
182
182
182
182
182
182
183
184
186
186
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
188
189
189
189
189
189
189
189
190
191
191
191
191
191
191
192
192
194
194
194
194
194
195
195
195
195
198
200
202
202
205
205
209
212
217
220
220
220
220
220
223
225
230
234
234
234
234
236
236
236
236
238
238
241
244
249
252
257
257
260
260
263
265
270
270
274
274
279
279
279
279
279
279
279
279
284
284
288
292
297
297
300
300
306
316
319
325
331
338
338
345
345
349
360
366
371
381
396
410
420
430
445
455
465
473
488
501
501
501
501
501
510
520
535
550
576
599
629
657
684
698
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
728
729
729
730
730
730
730
730
731
731
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
732
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
734
734
734
734
734
734
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
736
736
736
736
736
736
736
736
736
736
736
736
737
737
737
737
737
737
737
737
738
738
738
738
738
738
738
739
739
739
739
740
740
740
740
741
741
741
741
741
741
741
741
741
741
742
742
742
742
742
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
743
744
744
744
744
744
744
744
744
744
744
744
744
744
744
744
744
744
744
745
745
746
746
746
746
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
748
749
750
751
752
752
752
752
752
752
752
752
753
754
755
756
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
757
758
758
758
758
759
759
760
760
761
761
762
762
763
763
764
764
764
764
764
764
764
764
764
764
764
764
764
764
764
764
765
765
766
766
767
767
767
768
768
768
768
768
769
769
770
770
770
770
770
770
770
770
772
772
772
772
772
772
772
772
772
776
776
776
778
782
782
782
782
782
782
782
782
782
782
782
782
782
784
786
786
788
788
790
792
794
796
796
798
800
800
800
800
800
800
800
800
804
808
808
808
808
808
808
808
808
808
810
810
813
816
816
816
820
824
824
824
824
824
824
824
824
824
827
832
837
842
842
842
842
842
845
845
848
852
852
852
852
855
855
859
859
859
859
864
867
870
875
880
884
884
884
884
884
884
884
887
892
897
901
903
903
903
906
909
909
923
937
937
947
962
972
982
988
1003
1013
1028
1028
1036
1044
1057
1072
1072
1087
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1091
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1092
1093
1094
1094
1094
1095
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1096
1097
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1099
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1101
1101
1101
1101
1101
1101
1101
1102
1102
1102
1102
1102
1103
1104
1104
1104
1108
1108
1108
1108
1112
1112
1117
1121
1121
1125
1129
1133
1138
1138
1143
1143
1147
1152
1157
1157
1157
1158
1159
1160
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1162
1162
1162
1162
1162
1162
1163
1163
1163
1163
1163
1163
1164
1164
1164
1164
1164
1164
1164
1164
1165
1165
1165
1166
1166
1166
1166
1166
1166
1167
1167
1167
1168
1169
1170
1170
1172
1173
1176
1183
1185
1192
1195
1206
1221
1237
1265
1289
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1328
1329
1329
1329
1329
1329
1329
1329
1329
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1330
1331
1331
1331
1331
1331
1331
1331
1331
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1332
1333
1333
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1334
1335
1335
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1336
1337
1337
1338
1338
1338
1338
1339
1339
1340
1340
1341
1341
1342
1342
1342
1342
1342
1342
1342
1342
1343
1343
1344
1344
1345
1345
1345
1345
1346
1347
1348
1349
1350
1351
1351
1351
1352
1353
1353
1353
1354
1354
1354
1354
1354
1355
1355
1356
1357
1357
1357
1357
1357
1357
1357
1358
1359
1361
1361
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1362
1363
1364
1364
1364
1364
1364
1364
1364
1365
1366
1366
1366
1366
1366
1366
1367
1367
1369
1369
1373
1373
1373
1374
1374
1374
1374
1377
1379
1381
1381
1384
1385
1389
1392
1397
1400
1400
1400
1400
1400
1403
1405
1410
1414
1414
1416
1416
1418
1418
1418
1418
1420
1420
1423
1426
1431
1434
1439
1439
1442
1442
1445
1447
1452
1452
1456
1456
1461
1461
1461
1461
1461
1461
1461
1461
1466
1466
1470
1474
1479
1479
1482
1482
1488
1498
1501
1507
1513
1520
1520
1527
1527
1531
1542
1548
1553
1563
1578
1592
1602
1612
1627
1637
1647
1655
1670
1684
1684
1684
1684
1684
1693
1703
1718
1733
1759
1782
1812
1842
1869
1888
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1918
1919
1919
1920
1920
1921
1922
1923
1924
1924
1925
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1926
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1927
1928
1928
1928
1928
1929
1929
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1931
1931
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1932
1933
1933
1933
1933
1934
1935
1935
1935
1935
1935
1935
1935
1935
1935
1935
1935
1936
1937
1937
1937
1937
1937
1938
1938
1939
1939
1939
1939
1939
1939
1939
1940
1940
1940
1940
1941
1941
1941
1941
1942
1943
1943
1943
1943
1943
1943
1943
1943
1943
1944
1944
1944
1944
1944
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1945
1946
1946
1946
1946
1946
1946
1946
1946
1946
1946
1946
1946
1947
1947
1947
1947
1947
1947
1948
1948
1949
1949
1949
1949
1950
1950
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1951
1952
1952
1953
1953
1954
1955
1956
1957
1958
1958
1958
1958
1958
1958
1958
1958
1959
1960
1961
1962
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1963
1964
1964
1964
1964
1965
1965
1966
1966
1967
1967
1968
1968
1969
1969
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1970
1971
1971
1972
1972
1973
1973
1973
1974
1974
1974
1974
1974
1975
1975
1976
1976
1976
1976
1976
1976
1976
1976
1978
1978
1978
1978
1978
1978
1978
1978
1978
1982
1982
1982
1984
1988
1988
1988
1988
1988
1988
1988
1988
1989
1990
1990
1990
1990
1992
1994
1994
1996
1996
1998
2000
2002
2004
2004
2006
2008
2008
2008
2008
2008
2008
2008
2008
2012
2016
2016
2016
2016
2016
2016
2017
2019
2019
2022
2022
2025
2029
2029
2029
2033
2037
2037
2037
2037
2037
2037
2037
2037
2037
2040
2045
2050
2055
2055
2055
2055
2055
2058
2058
2061
2065
2065
2065
2065
2068
2068
2072
2072
2072
2072
2077
2080
2083
2088
2093
2097
2097
2097
2097
2097
2097
2097
2100
2105
2110
2114
2117
2117
2117
2120
2124
2124
2138
2152
2152
2162
2177
2187
2197
2204
2219
2229
2244
2244
2252
2260
2274
2289
2289
2304
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2311
2312
2313
2313
2313
2314
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2315
2316
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2317
2318
2319
2319
2319
2319
2319
2319
2319
2319
2319
2319
2320
2320
2320
2320
2320
2320
2320
2321
2321
2321
2321
2321
2322
2323
2323
2323
2327
2327
2327
2327
2331
2331
2336
2340
2340
2344
2348
2352
2357
2357
2362
2362
2366
2371
2376
2376
2376
2377
2378
2379
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2380
2381
2381
2381
2381
2381
2381
2382
2382
2382
2382
2382
2382
2383
2383
2383
2383
2385
2385
2387
2389
2392
2395
2400
2401
2406
2408
2413
2413
2415
2416
2421
2424
2428
2432
2435
2441
2451
2454
2464
2476
2486
2501
2512
2523
2537
2561
2586
2603
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2631
2631
2631
2631
2632
2632
2632
2632
2633
2634
2634
2634
2635
2635
2635
2635
2635
2635
2635
2635
2636
2637
2638
2638
2639
2640
2641
2642
2643
2644
2645
2646
2646
2646
2646
2647
2647
2647
2647
2647
2647
2647
2647
2648
2649
2649
2650
2650
2650
2650
2651
2651
2651
2651
2652
2652
2652
2652
2653
2653
2653
2653
2653
2653
2653
2653
2654
2654
2654
2654
2654
2654
2654
2654
2655
2655
2656
2657
2657
2658
2658
2658
2658
2658
2659
2659
2660
2661
2662
2663
2664
2665
2665
2665
2665
2665
2665
2665
2666
2666
2667
2667
2667
2667
2667
2667
2667
2667
2667
2667
2668
2668
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2669
2670
2670
2671
2671
2671
2671
2672
2673
2673
2673
2673
2673
2674
2675
2675
2676
2677
2678
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2687
2688
2689
2690
2691
2692
2692
2693
2693
2694
2694
2695
2695
2695
2695
2695
2695
2695
2695
2696
2696
2697
2697
2698
2699
2700
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2710
2710
2711
2711
2711
2711
2711
2712
2712
2713
2714
2714
2715
2715
2715
2715
2717
2720
2723
2724
2724
2726
2726
2726
2727
2728
2728
2729
2732
2737
2737
2737
2739
2744
2744
2746
2749
2750
2750
2750
2752
2752
2752
2752
2756
2758
2760
2763
2765
2765
2770
2775
2778
2781
2783
2788
2790
2793
2798
2800
2803
2808
2813
2818
2823
2826
2831
2836
2839
2844
2849
2853
2853
2855
2858
2860
2861
2865
2870
2875
2880
2885
2885
2889
2893
2898
2903
2908
2912
2917
2922
2927
2931
2936
2941
2946
2949
2954
2958
2963
2964
2969
2971
2976
2977
2980
2980
2983
2985
2988
2991
2996
2999
3004
3008
3013
3018
3029
3041
3056
3071
3078
3090
3102
3107
3107
3114
3121
3135
3150
3164
3174
3189
3204
3219
3234
3249
3264
3279
3288
3302
3317
3328
3328
3328
3328
3328
3337
3352
3367
3379
3410
3434
3465
3491
3514
3528
3556
3556
3556
3556
3556
3556
3556
3556
3557
3557
3557
3557
3557
3557
3557
3557
3557
3557
3557
3557
3557
3558
3558
3558
3558
3558
3558
3558
3558
3558
3558
3558
3558
3558
3558
3559
3559
3560
3560
3561
3562
3563
3564
3564
3565
3565
3565
3565
3565
3565
3565
3565
3565
3565
3566
3566
3566
3566
3566
3566
3566
3566
3566
3566
3566
3566
3566
3567
3567
3567
3568
3568
3568
3568
3568
3568
3568
3568
3568
3568
3568
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3569
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3570
3571
3571
3571
3571
3571
3571
3572
3572
3572
3572
3572
3572
3572
3573
3573
3573
3573
3573
3573
3573
3573
3574
3574
3574
3574
3575
3576
3577
3578
3579
3579
3580
3581
3582
3582
3582
3582
3582
3582
3582
3583
3584
3584
3584
3584
3584
3585
3586
3587
3587
3588
3589
3590
3590
3591
3591
3592
3592
3593
3593
3594
3594
3594
3594
3594
3594
3594
3594
3595
3595
3596
3596
3597
3597
3597
3597
3597
3598
3598
3598
3599
3600
3601
3601
3602
3602
3603
3604
3605
3605
3605
3605
3606
3607
3608
3609
3610
3611
3611
3611
3611
3611
3611
3611
3612
3612
3613
3614
3615
3616
3616
3616
3616
3616
3617
3618
3619
3620
3620
3620
3620
3620
3620
3621
3621
3622
3623
3624
3625
3625
3626
3627
3628
3628
3628
3628
3628
3628
3628
3628
3628
3629
3629
3629
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3639
3639
3640
3640
3641
3641
3641
3641
3641
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3651
3652
3653
3654
3655
3655
3655
3656
3657
3657
3657
3657
3658
3658
3659
3659
3660
3661
3662
3663
3664
3665
3666
3666
3667
3668
3669
3670
3671
3672
3673
3673
3673
3673
3673
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3682
3683
3684
3685
3686
3687
3687
3687
3687
3687
3687
3687
3688
3689
3690
3691
3692
3693
3693
3693
3693
3693
3693
3694
3695
3696
3696
3697
3698
3698
3698
3698
3698
3699
3699
3700
3700
3701
3701
3702
3703
3704
3704
3705
3705
3706
3706
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3707
3708
3708
3709
3709
3710
3711
3711
3712
3713
3714
3715
3715
3716
3716
3716
3716
3716
3716
3716
3716
3720
3720
3722
3722
3722
3723
3725
3725
3730
3735
3735
3737
3741
3746
3746
3746
3746
3746
3746
3750
3752
3757
3762
3762
3762
3764
3766
3770
3770
3774
3774
3778
3783
3785
3789
3789
3793
3795
3795
3795
3795
3797
3797
3797
3797
3802
3807
3807
3810
3814
3814
3818
3822
3826
3828
3831
3834
3839
3844
3848
3852
3857
3862
3862
3862
3862
3862
3862
3862
3865
3869
3873
3878
3883
3888
3888
3888
3888
3888
3893
3898
3903
3908
3912
3912
3912
3916
3921
3926
3930
3932
3937
3942
3945
3950
3955
3960
3965
3965
3969
3969
3969
3969
3969
3974
3979
3984
3989
3992
3997
4002
4007
4012
4012
4027
4042
4042
4057
4072
4087
4102
4114
4129
4144
4159
4159
4174
4189
4201
4216
4216
4231
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4245
4246
4246
4246
4246
4246
4246
4246
4246
4247
4247
4247
4247
4247
4247
4247
4247
4247
4247
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4248
4249
4250
4250
4250
4251
4252
4253
4253
4254
4255
4256
4256
4256
4256
4257
4258
4258
4258
4259
4260
4260
4260
4260
4261
4262
4262
4262
4262
4263
4264
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4265
4266
4267
4268
4268
4268
4268
4268
4268
4268
4268
4268
4269
4270
4270
4270
4270
4271
4271
4271
4272
4272
4272
4273
4273
4274
4275
4275
4275
4279
4279
4279
4279
4284
4284
4289
4293
4293
4297
4302
4307
4312
4312
4317
4317
4322
4327
4332
4332
4332
4333
4334
4335
4336
