0
0
0
0
1
2
2
3
4
5
6
6
6
6
6
6
7
8
9
10
11
11
11
11
11
11
14
17
20
23
26
30
34
46
58
79
79
79
79
79
79
79
79
79
79
79
79
79
79
81
84
84
84
84
84
84
84
86
89
89
89
89
89
89
89
91
94
94
94
94
94
94
94
96
99
99
99
99
99
99
99
101
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
109
109
111
113
115
117
120
120
120
120
120
120
123
123
123
123
123
123
126
126
128
131
131
131
134
134
134
134
136
138
141
141
141
141
141
141
141
141
142
143
143
144
147
147
147
147
147
151
151
151
153
155
166
177
177
178
182
189
189
190
197
207
209
214
225
237
247
253
262
274
274
274
274
274
277
285
297
309
330
348
365
387
407
419
440
440
440
442
442
442
442
442
442
442
442
442
442
442
445
445
445
445
445
445
445
445
450
450
450
450
450
450
452
454
457
462
467
472
475
480
485
485
485
485
485
485
485
486
487
487
488
489
489
491
491
491
491
491
493
496
501
506
507
510
514
519
519
519
519
519
521
521
526
531
531
531
534
534
534
534
534
534
534
534
534
535
535
540
545
550
550
550
555
558
563
568
568
568
568
568
568
570
573
578
578
581
581
581
581
581
583
583
587
592
592
592
592
592
592
602
614
626
626
633
634
646
657
657
669
675
675
686
698
705
712
712
724
731
736
736
736
741
741
741
745
749
749
753
758
763
767
772
772
777
777
782
787
787
788
790
791
792
794
798
802
803
804
804
804
804
804
804
805
806
807
808
809
811
811
811
816
823
827
831
834
837
841
854
859
871
883
905
905
905
905
905
905
905
905
905
905
905
905
905
905
907
910
910
910
910
910
910
910
912
915
915
915
915
915
915
915
917
920
920
920
920
920
920
920
922
925
928
930
930
930
930
930
932
935
935
935
935
935
935
935
935
935
935
935
935
935
935
935
937
940
940
942
944
947
950
953
953
953
954
956
958
961
961
961
961
962
963
966
966
969
972
975
978
981
983
983
986
988
990
993
993
993
993
993
993
993
993
996
999
1003
1007
1010
1010
1010
1010
1010
1015
1015
1015
1017
1023
1034
1046
1046
1049
1056
1065
1065
1066
1075
1086
1095
1101
1112
1124
1136
1142
1153
1165
1165
1165
1165
1165
1168
1176
1188
1200
1222
1242
1259
1281
1303
1315
1336
1336
1336
1338
1338
1338
1338
1338
1340
1340
1340
1340
1340
1340
1344
1344
1344
1344
1344
1344
1344
1345
1350
1350
1350
1350
1350
1350
1353
1356
1359
1364
1369
1374
1377
1382
1387
1387
1387
1387
1387
1387
1391
1393
1395
1395
1396
1398
1398
1400
1400
1400
1400
1402
1405
1408
1413
1418
1421
1424
1428
1433
1433
1433
1433
1433
1435
1435
1440
1445
1445
1445
1448
1448
1450
1452
1454
1454
1454
1454
1454
1455
1455
1460
1465
1470
1470
1470
1475
1478
1483
1488
1488
1488
1488
1488
1490
1494
1498
1503
1503
1506
1506
1506
1506
1506
1508
1510
1514
1519
1519
1519
1519
1519
1519
1531
1543
1555
1555
1562
1565
1577
1589
1589
1601
1608
1608
1619
1631
1638
1645
1645
1657
1664
1669
1669
1671
1676
1676
1676
1680
1684
1684
1688
1693
1698
1702
1707
1707
1712
1712
1717
1722
1722
1725
1729
1730
1731
1735
1740
1745
1746
1747
1747
1749
1749
1749
1749
1752
1755
1756
1757
1758
1766
1766
1772
1784
1796
1801
1806
1809
1812
1817
1837
1843
1855
1867
1889
1893
1895
1895
1900
1903
1903
1905
1908
1913
1913
1916
1921
1926
1930
1935
1940
1945
1945
1948
1953
1958
1962
1967
1967
1967
1967
1967
1969
1972
1974
1977
1982
1987
1987
1990
1995
2000
2004
2009
2013
2018
2018
2021
2026
2031
2036
2041
2042
2042
2042
2042
2042
2042
2043
2044
2044
2046
2049
2054
2057
2060
2065
2070
2073
2078
2083
2086
2089
2094
2097
2102
2107
2110
2113
2118
2121
2121
2121
2124
2127
2130
2133
2138
2143
2146
2149
2154
2156
2161
2166
2169
2172
2177
2178
2178
2179
2180
2181
2182
2184
2187
2190
2195
2199
2204
2216
2228
2238
2250
2262
2263
2268
2279
2285
2297
2309
2321
2327
2339
2351
2363
2369
2381
2393
2405
2411
2423
2435
2447
2453
2465
2477
2479
2481
2485
2490
2497
2508
2523
2538
2560
2582
2604
2626
2648
2659
2688
2693
2698
2703
2703
2703
2707
2712
2717
2717
2719
2724
2724
2726
2731
2731
2734
2734
2739
2739
2744
2749
2754
2754
2759
2759
2762
2764
2767
2772
2775
2780
2785
2790
2793
2798
2803
2803
2803
2803
2803
2806
2811
2816
2821
2825
2829
2834
2834
2839
2839
2842
2844
2847
2852
2855
2860
2865
2870
2873
2878
2883
2883
2883
2883
2883
2886
2891
2896
2901
2905
2905
2910
2914
2917
2922
2927
2927
2927
2929
2932
2935
2940
2945
2950
2955
2955
2960
2965
2968
2973
2978
2980
2982
2986
2990
2993
2998
3003
3008
3008
3013
3013
3013
3014
3016
3019
3024
3029
3034
3037
3039
3044
3047
3051
3063
3075
3087
3094
3108
3120
3132
3144
3144
3158
3170
3182
3197
3209
3221
3236
3248
3263
3278
3283
3288
3293
3298
3298
3298
3303
3308
3308
3313
3318
3323
3328
3333
3333
3338
3343
3348
3353
