0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
7
7
11
11
12
16
17
22
26
26
26
26
26
30
30
30
30
30
30
30
30
35
35
43
53
62
62
67
72
82
82
82
82
95
98
106
111
114
137
161
164
170
174
203
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
217
217
217
217
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
225
225
230
230
230
230
230
230
231
232
233
233
233
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
236
236
236
236
237
238
238
238
238
238
238
238
238
240
240
240
240
240
240
240
240
240
240
243
243
247
247
247
247
247
248
248
251
252
255
259
263
268
268
268
268
268
268
268
271
271
274
274
274
274
274
274
274
274
274
274
275
275
276
279
280
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
285
286
286
288
289
291
296
301
306
306
306
306
306
306
306
306
307
307
309
309
309
309
309
310
312
313
314
316
316
320
325
325
328
330
332
334
339
339
339
341
342
345
349
349
349
349
349
349
349
351
353
355
355
359
363
363
364
364
366
369
373
378
383
386
386
388
391
391
393
398
401
401
401
401
401
403
408
413
418
418
418
418
418
420
420
422
423
423
423
423
423
423
423
425
425
426
429
441
448
448
448
463
463
463
465
468
468
468
469
470
470
470
474
478
478
479
479
479
484
488
490
494
503
516
516
516
519
519
521
529
540
551
558
561
569
576
576
576
579
584
584
586
588
591
592
598
607
617
622
627
627
630
642
654
669
684
694
701
716
731
739
751
765
771
777
792
792
797
808
813
826
840
846
851
851
856
864
874
884
895
908
916
930
944
948
958
973
1002
1032
1032
1053
1069
1069
1069
1071
1074
1083
1098
1124
1139
1169
1200
1231
1258
1289
1319
1349
1349
1363
1381
1402
1402
1402
1402
1402
1415
1445
1476
1501
1553
1573
1626
1668
1683
1714
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1762
1763
1763
1763
1765
1765
1766
1766
1766
1769
1769
1771
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1773
1773
1773
1775
1777
1777
1777
1777
1777
1777
1777
1777
1777
1777
1777
1777
1777
1777
1780
1780
1780
1780
1780
1780
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1785
1785
1785
1788
1788
1788
1791
1791
1791
1791
1791
1791
1791
1791
1791
1791
1794
1794
1797
1797
1797
1797
1800
1800
1800
1802
1802
1802
1802
1802
1802
1802
1802
1802
1802
1802
1803
1805
1808
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1809
1813
1815
1818
1820
1820
1824
1828
1833
1836
1836
1836
1836
1836
1836
1836
1836
1836
1836
1836
1836
1836
1838
1842
1842
1845
1845
1848
1848
1853
1854
1858
1862
1863
1863
1863
1863
1863
1863
1863
1863
1863
1866
1870
1875
1877
1881
1885
1885
1885
1885
1885
1887
1887
1887
1890
1892
1892
1892
1894
1894
1894
1894
1894
1894
1896
1896
1899
1901
1904
1906
1911
1913
1913
1913
1913
1913
1913
1913
1914
1914
1917
1920
1925
1930
1930
1930
1930
1930
1934
1936
1941
1944
1944
1944
1944
1946
1947
1948
1948
1948
1950
1955
1957
1960
1963
1968
1973
1973
1973
1973
1973
1973
1973
1975
1977
1981
1985
1987
1987
1988
1992
1994
1994
1995
1995
1997
1997
2001
2003
2003
2003
2003
2003
2007
2007
2007
2007
2007
2007
2008
2012
2016
2017
2020
2024
2026
2031
2036
2041
2044
2047
2050
2054
2059
2059
2059
2064
2064
2064
2064
2064
2068
2071
2074
2074
2078
2082
2087
2092
2095
2100
2105
2105
2106
2111
2116
2118
2122
2127
2132
2132
2132
2132
2132
2132
2134
2139
2144
2149
2154
2159
2162
2167
2172
2175
2180
2185
2190
2195
2200
2200
2200
2200
2200
2200
2200
2205
2210
2215
2217
2222
2227
2227
2230
2233
2233
2233
2235
2240
2243
2243
2246
2251
2254
2254
2256
2256
2259
2263
2268
2268
2272
2275
2278
2283
2287
2292
2297
2300
2305
2310
2315
2315
2315
2315
2315
2315
2317
2322
2325
2325
2325
2325
2325
2325
2325
2329
2334
2337
2342
2347
2352
2352
2354
2358
2361
2364
2368
2373
2376
2376
2380
2380
2380
2380
2380
2380
2380
2380
2383
2383
2383
2383
2383
2383
2386
2386
2400
2415
2415
2416
2429
2443
2443
2443
2443
2443
2443
2446
2449
2460
2474
2474
2474
2474
2476
2481
2481
2488
2488
2494
2501
2501
2508
2508
2514
2517
2517
2517
2517
2520
2520
2520
2520
2532
2547
2547
2553
2561
2561
2561
2561
2563
2566
2574
2579
2590
2602
2611
2621
2636
2650
2650
2650
2650
2650
2650
2650
2653
2663
2673
2686
2701
2716
2716
2716
2716
2716
2729
2741
2755
2770
2776
2776
2776
2786
2800
2814
2824
2831
2843
2857
2869
2884
2899
2914
2929
2929
2939
2939
2939
2939
2939
2954
2967
2982
2997
3007
3022
3034
3048
3060
3060
3091
3121
3121
3152
3183
3214
3229
3252
3283
3314
3345
3345
3376
3406
3434
3465
3465
3495
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3520
3523
3525
3530
3530
3530
3530
3530
3530
3530
3530
3531
3533
3533
3533
3533
3533
3533
3533
3533
3533
3536
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3540
3541
3543
3543
3543
3548
3553
3558
3558
3560
3565
3570
3570
3570
3570
3571
3573
3573
3573
3576
3580
3580
3580
3580
3583
3587
3587
3587
3587
3589
3594
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3599
3604
3609
3614
3614
3614
3614
3614
3614
3614
3614
3614
3617
3617
3617
3617
3617
3621
3621
3621
3626
3631
3631
3636
3636
3641
3646
3646
3646
3656
3656
3656
3656
3671
3671
3686
3696
3696
3706
3721
3736
3751
3751
3766
3766
3781
3796
3811
3811
3811
3816
3821
3826
3831
