0
0
0
0
0
1
1
1
1
1
1
2
3
3
3
3
5
5
5
7
8
8
8
8
8
8
15
15
16
17
19
20
36
50
60
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
74
74
74
75
75
76
76
77
77
77
77
77
77
77
77
77
77
77
77
77
78
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
82
83
84
84
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
88
88
88
88
88
88
89
89
91
91
91
91
91
91
91
91
93
93
93
93
95
95
95
95
98
98
100
100
100
101
101
101
101
104
106
108
110
112
113
113
113
113
115
117
119
119
119
119
119
119
119
120
120
120
124
124
127
127
127
127
127
129
129
129
129
129
129
131
132
132
132
132
136
136
139
139
139
141
146
149
156
158
161
161
165
174
184
184
187
187
187
197
209
223
234
234
237
242
247
247
251
256
259
271
280
292
301
314
326
350
360
384
394
404
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
425
425
425
426
426
426
426
426
426
427
427
427
427
428
428
428
428
429
429
429
429
430
430
430
431
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
433
433
433
433
433
433
433
433
433
434
434
434
434
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
436
436
436
436
436
436
436
436
436
436
436
436
436
437
437
437
437
437
437
437
437
437
437
437
437
437
437
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
439
439
439
439
439
439
439
439
440
440
440
440
441
441
442
442
443
443
444
444
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
446
447
447
448
449
450
451
451
451
451
452
452
453
453
453
453
454
454
455
455
455
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
457
457
458
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
462
462
462
462
465
465
465
465
470
470
470
471
471
475
479
479
479
479
481
483
483
483
484
484
484
484
486
486
486
490
491
492
495
495
498
498
498
498
502
502
502
505
510
514
519
520
522
522
523
524
526
526
527
531
535
538
542
542
542
542
542
543
545
549
554
554
554
558
563
563
563
565
568
570
575
579
584
584
584
584
584
584
584
584
584
584
586
586
587
587
589
589
590
590
590
590
590
590
590
591
592
592
595
599
601
604
609
611
612
616
620
620
620
622
622
622
622
622
623
626
630
635
635
636
639
639
642
652
666
677
686
694
705
717
732
746
752
758
771
785
795
806
821
827
830
833
839
850
862
874
874
886
896
896
896
896
896
896
896
896
896
896
897
897
897
897
897
897
897
897
897
897
898
899
899
899
899
899
899
899
900
900
901
901
901
901
901
901
901
901
901
901
902
903
903
903
904
904
905
905
906
906
907
907
907
907
907
907
908
908
908
908
908
908
908
908
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
909
910
911
911
911
912
912
912
912
912
912
912
912
912
912
912
913
913
914
914
915
915
915
916
917
917
917
917
917
917
917
917
917
917
917
917
918
918
919
919
920
920
921
921
921
921
921
921
921
922
923
924
924
925
926
927
927
927
928
929
930
930
930
931
931
931
931
931
931
932
932
933
934
934
935
935
936
936
936
936
936
936
936
936
937
937
937
937
937
937
937
937
938
938
938
938
938
938
938
938
938
938
938
938
939
940
941
942
942
942
943
943
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
944
945
946
946
946
946
947
948
948
948
948
948
948
948
953
956
960
964
969
974
979
983
987
992
995
995
996
998
1002
1006
1009
1014
1018
1022
1026
1030
1034
1039
1044
1044
1049
1053
1057
1060
1065
1069
1074
1079
1083
1087
1091
1091
1096
1101
1105
1106
1107
1107
1107
1108
1108
1109
1109
1110
1111
1111
1111
1112
1113
1113
1114
1114
1115
1116
1117
1118
1119
1119
1120
1121
1121
1122
1123
1124
1124
1124
1124
1124
1125
1125
1125
1125
1125
1125
1126
1127
1127
1127
1127
1129
1129
1129
1131
1132
1132
1133
1134
1135
1137
1142
1142
1145
1146
1148
1153
1168
1182
1191
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1202
1202
1202
1202
1202
1202
1202
1202
1203
1203
1203
1203
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1204
1205
1205
1205
1206
1206
1207
1207
1208
1208
1208
1208
1208
1208
1208
1208
1208
1208
1208
1208
1209
1210
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1211
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1212
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1213
1214
1215
1216
1216
1217
1217
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1218
1220
1222
1222
1222
1222
1222
1223
1224
1224
1226
1226
1226
1226
1228
1228
1229
1229
1231
1231
1231
1231
1233
1233
1233
1233
1236
1236
1238
1238
1238
1239
1239
1239
1241
1244
1246
1248
1250
1252
1253
1253
1253
1253
1255
1258
1262
1262
1262
1262
1262
1262
1263
1264
1264
1264
1268
1268
1271
1272
1272
1272
1272
1275
1275
1276
1276
1276
1276
1278
1279
1279
1279
1279
1282
1282
1285
1286
1286
1288
1294
1298
1304
1306
1309
1309
1313
1322
1333
1333
1339
1339
1339
1349
1361
1375
1386
1387
1391
1396
1401
1403
1407
1412
1415
1427
1436
1448
1457
1471
1483
1507
1517
1540
1550
1560
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1580
1581
1581
1581
1582
1582
1582
1582
1582
1582
1583
1583
1583
1583
1584
1584
1584
1584
1585
1585
1585
1585
1586
1586
1586
1587
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1589
1589
1589
1589
1589
1589
1589
1589
1589
1589
1590
1590
1590
1590
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1591
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1593
1593
1593
1593
1593
1593
1593
1593
1593
1593
1593
1593
1593
1593
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1594
1595
1595
1595
1595
1595
1595
1595
1595
1596
1596
1596
1596
1597
1597
1598
1598
1599
1599
1600
1600
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1602
1603
1603
1604
1605
1606
1607
1607
1607
1607
1608
1608
1609
1609
1609
1609
1610
1610
1611
1611
1611
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1612
1613
1614
1614
1614
1614
1615
1616
1616
1616
1616
1616
1617
1617
1617
1617
1617
1618
1618
1619
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1620
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1622
1622
1622
1622
1622
1622
1622
1622
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1624
1625
1625
1625
1625
1625
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1626
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1628
1628
1628
1628
1628
1631
1631
1631
1631
1636
1636
1636
1637
1637
1641
1646
1646
1646
1646
1648
1650
1650
1650
1652
1652
1652
1652
1654
1654
1654
1658
1659
1660
1664
1664
1667
1667
1667
1667
1671
1671
1671
1674
1679
1683
1688
1689
1691
1691
1692
1693
1695
1695
1696
1700
1705
1708
1713
1713
1713
1713
1713
1714
1716
1720
1725
1725
1725
1729
1734
1734
1734
1736
1739
1741
1746
1750
1755
1755
1755
1755
1755
1755
1755
1755
1755
1755
1757
1757
1758
1758
1760
1760
1761
1761
1761
1761
1761
1761
1761
1762
1763
1763
1766
1770
1772
1775
1780
1782
1783
1787
1791
1791
1791
1793
1793
1793
1793
1793
1794
1797
1801
1806
1807
1808
1811
1811
1813
1823
1838
1850
1859
1867
1878
1890
1905
1919
1925
1931
1944
1958
1969
1980
1995
2001
2004
2007
2013
2024
2036
2048
2048
2060
2070
2070
2070
2070
2070
2070
2070
2070
2070
2070
2071
2071
2071
2071
2071
2071
2071
2071
2071
2071
2072
2073
2073
2073
2073
2073
2073
2073
2074
2074
2075
2075
2075
2075
2075
2075
2075
2075
2075
2075
2076
2077
2077
2077
2078
2078
2079
2079
2080
2080
2081
2081
2081
2081
2081
2081
2082
2082
2082
2082
2083
2084
2084
2084
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2085
2086
2087
2088
2088
2089
2089
2089
2089
2089
2089
2089
2089
2089
2089
2089
2090
2090
2091
2091
2092
2092
2092
2093
2094
2094
2094
2094
2094
2094
2094
2094
2094
2094
2094
2094
2095
2095
2096
2096
2097
2097
2098
2098
2098
2098
2098
2098
2098
2099
2100
2101
2101
2102
2103
2104
2104
2104
2105
2106
2107
2107
2107
2108
2108
2108
2108
2108
2108
2109
2109
2110
2111
2111
2112
2112
2113
2113
2113
2113
2113
2113
2113
2113
2114
2114
2114
2114
2115
2116
2116
2116
2117
2117
2117
2117
2117
2117
2117
2118
2118
2118
2118
2118
2119
2120
2121
2122
2122
2122
2123
2123
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
2126
2126
2126
2126
2127
2128
2128
2128
2128
2128
2128
2128
2133
2136
2140
2144
2149
2154
2159
2163
2168
2173
2176
2176
2177
2179
2183
2187
2190
2195
2199
2203
2207
2211
2215
2220
2225
2225
2230
2234
2238
2241
2246
2250
2255
2260
2264
2268
2272
2272
2277
2282
2286
2287
2288
2288
2288
2289
2289
2290
2290
2291
2292
2292
2292
2293
2294
2294
2295
2295
2296
2297
2298
2299
2300
2300
2301
2302
2302
2303
2304
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2305
2308
2309
2310
2315
2315
2317
2320
2320
2322
2327
2341
2355
2365
2375
2375
2375
2375
2375
2375
2375
2375
2375
2375
2375
2375
2375
2375
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2376
2377
2377
2377
2378
2378
2378
2378
2379
2379
2379
2379
2379
2379
2379
2379
2380
2380
2381
2381
2382
2383
2384
2385
2385
2386
2387
2387
2388
2389
2390
2390
2391
2391
2391
2391
2391
2391
2391
2391
2391
2391
2391
2391
2392
2392
2392
2392
2392
2392
2392
2392
2392
2392
2392
2393
2393
2393
2393
2393
2393
2393
2393
2393
2393
2393
2393
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2394
2395
2396
2397
2397
2398
2399
2400
2401
2402
2403
2404
2404
2405
2405
2406
2406
2406
2406
2407
2407
2407
2407
2408
2408
2408
2408
2408
2408
2408
2408
2408
2411
2411
2411
2414
2414
2415
2416
2419
2419
2422
2423
2424
2424
2424
2427
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2430
2430
2431
2431
2431
2432
2432
2433
2435
2438
2440
2441
2442
2443
2448
2450
2451
2455
2457
2462
2467
2472
2472
2477
2482
2487
2491
2492
2495
2498
2499
2504
2508
2509
2510
2511
2515
2520
2520
2521
2522
2522
2526
2529
2530
2530
2530
2530
2530
2530
2534
2535
2543
2547
2552
2557
2564
2571
2577
2589
2600
2612
2623
2624
2632
2640
2651
2660
2669
2678
2688
2690
2692
2696
2701
2702
2704
2708
2711
2723
2731
2739
2746
2759
2772
2796
2821
2844
2854
2863
2883
2883
2883
2883
2883
2883
2883
2883
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2884
2885
2885
2885
2886
2886
2887
2887
2888
2888
2889
2889
2890
2891
2891
2891
2892
2892
2892
2893
2893
2893
2893
2894
2894
2895
2895
2895
2895
2895
2895
2895
2895
2895
2896
2896
2897
2897
2898
2899
2899
2899
2900
2901
2901
2901
2901
2901
2902
2902
2902
2902
2902
2902
2902
2903
2904
2904
2905
2906
2907
2907
2908
2909
2909
2910
2910
2911
2912
2912
2912
2912
2912
2913
2913
2913
2913
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2914
2915
2915
2915
2915
2915
2915
2915
2915
2915
2915
2915
2915
2915
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2916
2917
2917
2917
2917
2917
2917
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2918
2919
2919
2919
2919
2920
2920
2920
2921
2921
2922
2922
2922
2923
2923
2924
2924
2925
2925
2926
2927
2927
2928
2928
2929
2929
2930
2930
2931
2932
2933
2933
2934
2935
2936
2937
2938
2939
2939
2940
2941
2942
2943
2943
2943
2943
2944
2945
2946
2946
2946
2946
2947
2948
2949
2950
2950
2951
2951
2951
2951
2952
2953
2953
2953
2954
2955
2956
2956
2957
2957
2957
2957
2957
2958
2959
2960
2961
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2971
2971
2972
2973
2974
2974
2975
2976
2977
2978
2979
2979
2980
2981
2982
2982
2983
2984
2985
2985
2986
2987
2988
2989
2990
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3002
3003
3004
3004
3005
3006
3007
3008
3008
3009
3010
3011
3012
3013
3013
3013
3013
3013
3013
3013
3013
3013
3013
3013
3014
3014
3015
3016
3017
3018
3018
3019
3019
3019
3020
3021
3021
3021
3021
3021
3021
3021
3022
3022
3022
3022
3022
3022
3023
3024
3025
3025
3025
3025
3025
3026
3026
3026
3026
3026
3026
3027
3027
3027
3028
3029
3029
3029
3029
3029
3029
3030
3031
3031
3031
3032
3033
3034
3034
3034
3038
3038
3038
3038
3043
3043
3043
3047
3048
3052
3057
3059
3061
3064
3067
3070
3071
3075
3078
3078
3078
3078
3079
3079
3079
3084
3088
3092
3097
3097
3101
3101
3101
3101
3105
3105
3105
3110
3113
3118
3123
3126
3128
3133
3138
3141
3144
3149
3150
3154
3156
3161
3166
3169
3173
3175
3180
3184
3187
3192
3197
3200
3205
3210
3215
3218
3223
3228
3231
3234
3239
3244
3249
3249
3251
3252
3252
3253
3255
3258
3261
3261
3264
3268
3273
3274
3277
3281
3284
3285
3287
3290
3293
3293
3298
3302
3304
3309
3314
3319
3321
3326
3330
3332
3333
3337
3340
3344
3344
3347
3347
3350
3351
3352
3353
3357
3362
3367
3369
3371
3376
3380
3383
3394
3409
3417
3427
3434
3446
3459
3474
3486
3494
3502
3514
3529
3541
3553
3567
3577
3589
3601
3615
3626
3637
3648
3653
3665
3676
3676
3676
3676
3676
3676
3676
3676
3676
3676
3677
3677
3677
3677
3677
3677
3677
3677
3677
3677
3678
3679
3679
3679
3680
3680
3681
3681
3682
3682
3683
3684
3685
3685
3685
3685
3685
3685
3685
3685
3686
3687
3687
3687
3688
3688
3689
3689
3690
3690
3691
3691
3691
3691
3691
3691
3692
3692
3693
3693
3694
3695
3695
3695
3696
3696
3696
3696
3696
3697
3697
3697
3697
3697
3698
3699
3699
3699
3700
3701
3701
3701
3701
3701
3701
3701
3701
3701
3701
3701
3701
3701
3701
3702
3703
3704
3704
3705
3705
3705
3705
3705
3705
3705
3706
3707
3707
3707
3708
3708
3709
3709
3710
3710
3711
3712
3713
3713
3713
3713
3713
3713
3713
3713
3714
3714
3715
3715
3716
3716
3717
3717
3718
3718
3719
3719
3720
3720
3721
3721
3721
3722
3723
3724
3725
3726
3727
3728
3728
3729
3730
3731
3732
3732
3732
3733
3733
3733
3733
3733
3733
3734
3735
3736
3737
3738
3738
3739
3740
3740
3741
3741
3741
3742
3742
3742
3743
3743
3744
3744
3745
3746
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3768
3768
3768
3768
3768
3768
3769
3770
3770
3770
3770
3770
3770
3771
3771
3772
3772
3773
3773
3773
3773
3773
3773
3773
3773
3774
3775
3775
3775
3776
3777
3777
3777
3777
3778
3779
3779
3779
3779
3779
3780
3781
3786
3790
3795
3800
3805
3810
3815
3819
3824
3829
3832
3832
3835
3837
3841
3846
3851
3856
3860
3864
3868
3872
3877
3882
3887
3887
3892
3897
3902
3907
3912
3917
3922
3927
3932
3937
3942
3942
3947
3952
3957
3958
3959
3959
3959
3960
3960
3961
3962
3963
3964
3964
3964
3965
3966
3966
3967
3967
3968
3969
3970
3971
3972
3972
3973
3974
3974
3975
3976
3977
