0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
5
8
18
24
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
44
44
44
44
44
44
44
44
46
46
46
46
46
46
46
46
48
48
48
48
48
48
48
48
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
52
52
52
53
54
54
54
57
57
57
57
57
57
59
60
60
60
62
62
65
65
68
69
69
69
72
72
72
72
72
72
74
74
74
74
76
79
79
79
79
79
83
86
89
89
89
89
89
89
89
93
93
95
101
106
106
107
114
116
118
118
129
135
135
136
143
148
151
155
162
167
167
173
173
173
173
184
196
202
223
239
256
273
286
295
317
317
317
317
317
317
317
317
317
317
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
323
323
323
325
327
328
330
330
332
332
333
333
333
333
336
338
340
340
340
340
340
345
345
345
345
346
348
351
355
358
359
359
359
361
361
364
364
364
364
369
374
377
377
377
380
380
380
380
380
380
382
382
382
382
386
391
394
396
396
398
402
405
410
413
413
416
416
416
416
420
425
428
428
430
430
432
432
432
432
435
439
442
442
442
442
442
442
454
464
476
476
488
490
502
504
504
516
520
520
532
544
551
563
563
575
582
582
582
587
592
592
597
597
602
602
607
611
616
621
626
626
631
631
636
641
641
641
641
642
642
644
646
646
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
651
656
659
659
662
662
665
676
680
692
698
718
718
718
718
718
718
718
718
718
718
718
718
718
718
720
720
720
720
720
720
720
720
722
722
722
722
722
722
722
722
724
724
724
724
724
724
724
724
726
726
727
727
727
727
727
727
729
729
729
729
729
729
729
729
729
729
729
729
729
729
730
731
736
736
736
738
739
739
739
742
743
743
743
745
745
747
748
748
748
751
751
754
755
758
759
761
761
764
765
765
767
769
769
771
771
771
771
773
776
776
776
776
776
781
784
787
787
789
789
791
793
793
798
800
804
813
818
821
826
833
838
840
841
853
859
864
868
879
884
890
895
902
908
908
914
914
914
914
925
937
943
964
982
999
1020
1039
1051
1073
1073
1073
1073
1073
1073
1073
1073
1073
1073
1076
1076
1076
1076
1076
1076
1077
1077
1077
1077
1077
1078
1079
1079
1081
1081
1081
1081
1084
1085
1087
1091
1094
1096
1099
1099
1102
1102
1105
1105
1105
1105
1108
1112
1115
1115
1116
1116
1116
1121
1121
1121
1122
1125
1128
1131
1136
1139
1141
1144
1144
1147
1147
1150
1150
1150
1150
1155
1160
1163
1163
1163
1166
1166
1166
1166
1167
1167
1169
1169
1169
1169
1173
1178
1181
1183
1183
1186
1191
1194
1199
1202
1202
1205
1205
1205
1205
1210
1215
1218
1218
1220
1220
1222
1222
1222
1222
1225
1229
1232
1232
1232
1232
1232
1232
1244
1255
1267
1267
1279
1285
1297
1302
1302
1314
1320
1320
1332
1344
1351
1363
1363
1375
1382
1382
1382
1387
1392
1392
1397
1397
1402
1402
1407
1411
1416
1421
1426
1426
1431
1431
1436
1441
1442
1444
1446
1447
1447
1451
1454
1454
1455
1455
1455
1457
1457
1457
1457
1460
1460
1461
1461
1461
1468
1468
1474
1486
1491
1496
1496
1499
1499
1502
1517
1523
1535
1541
1556
1557
1562
1563
1567
1570
1570
1575
1578
1581
1581
1584
1588
1590
1594
1594
1599
1604
1604
1607
1612
1614
1618
1618
1618
1621
1621
1623
1627
1630
1632
1632
1637
1642
1642
1645
1650
1653
1657
1657
1662
1666
1666
1669
1672
1674
1679
1679
1679
1679
1679
1682
1683
1683
1683
1683
1684
1684
1687
1692
1697
1700
1705
1705
1708
1712
1714
1717
1717
1720
1723
1728
1730
1733
1733
1736
1739
1739
1739
1742
1742
1745
1748
1753
1756
1759
1759
1762
1765
1770
1773
1776
1776
1779
1780
1780
1780
1783
1786
1786
1787
1788
1789
1794
1797
1800
1812
1824
1836
1848
1853
1854
1866
1878
1882
1894
1900
1912
1918
1930
1936
1948
1954
1966
1972
1984
1990
2002
2008
2019
2025
2037
2043
2044
2049
2052
2056
2059
2071
2083
2089
2110
2131
2146
2168
2180
2190
2211
2214
2219
2224
2224
2229
2234
2239
2243
2243
2248
2248
2248
2253
2256
2256
2261
2261
2261
2261
2264
2269
2274
2274
2279
2282
2285
2289
2292
2297
2300
2305
2308
2313
2316
2321
2324
2324
2327
2327
2327
2327
2332
2337
2340
2345
2350
2355
2355
2360
2363
2366
2370
2373
2378
2381
2386
2389
2394
2397
2397
2400
2400
2403
2403
2403
2403
2408
2413
2416
2418
2418
2423
2424
2426
2430
2433
2433
2436
2436
2438
2440
2445
2450
2453
2458
2458
2463
2468
2471
2476
2479
2479
2482
2486
2490
2492
2497
2502
2505
2505
2510
2510
2513
2513
2514
2515
2520
2525
2528
2529
2533
2538
2541
2543
2555
2567
2579
2586
2598
2610
2622
2634
2634
2646
2658
2670
2682
2694
2706
2718
2730
2742
2754
2759
2764
2769
2774
2774
2779
2779
2784
2784
2789
2794
2799
2804
2809
2809
2814
2819
2824
2829
