0
0
0
0
2
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
5
6
6
6
7
12
15
22
33
47
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
71
74
77
81
81
81
81
82
84
89
89
89
89
92
92
92
94
94
94
96
96
98
98
98
102
107
107
108
108
110
117
118
120
121
124
124
126
126
129
134
137
139
146
156
164
168
175
185
190
197
202
212
222
222
222
222
222
225
232
241
252
269
281
300
320
337
348
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
367
367
367
369
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
375
375
375
375
375
375
375
375
375
375
375
375
375
377
381
381
381
381
381
381
381
381
381
383
383
383
385
385
385
387
391
391
391
391
391
391
391
391
391
394
399
404
409
409
409
409
409
410
410
411
415
415
415
415
415
415
416
416
417
417
420
424
427
432
437
442
442
442
442
442
442
442
445
450
455
459
461
461
461
461
463
463
475
486
486
493
505
512
519
525
537
544
556
556
563
570
581
593
593
605
609
609
609
613
613
613
613
618
618
623
627
627
631
636
641
646
646
651
651
656
661
666
666
666
666
668
668
668
668
668
668
668
668
668
668
668
668
670
670
670
670
670
670
670
670
670
671
672
672
672
673
678
681
689
701
718
740
740
740
740
740
740
740
740
740
740
740
740
740
740
740
741
741
741
741
741
741
741
741
742
742
742
742
743
743
743
743
745
745
745
745
746
746
746
746
746
746
746
746
746
747
748
748
748
748
748
748
748
748
748
748
748
748
748
748
749
750
751
751
751
751
751
751
751
751
753
753
753
753
753
753
753
753
753
753
753
755
758
761
765
765
765
765
766
768
773
773
773
773
776
776
776
778
778
778
780
780
782
782
782
786
791
791
792
792
794
801
802
804
806
809
809
811
811
814
819
822
824
831
841
849
853
860
870
876
883
888
898
909
909
909
909
909
912
919
928
939
956
968
989
1010
1028
1039
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1056
1058
1058
1058
1060
1064
1064
1064
1064
1064
1064
1064
1064
1064
1066
1066
1066
1066
1066
1066
1066
1066
1066
1067
1068
1068
1068
1068
1068
1068
1068
1068
1068
1068
1068
1068
1068
1070
1074
1074
1074
1074
1074
1074
1075
1075
1075
1077
1077
1077
1079
1079
1079
1081
1085
1085
1085
1085
1085
1085
1085
1085
1085
1088
1093
1098
1103
1103
1103
1103
1103
1104
1104
1105
1109
1109
1109
1109
1109
1109
1110
1110
1111
1111
1114
1118
1121
1126
1131
1136
1136
1136
1136
1136
1136
1136
1139
1144
1149
1153
1155
1155
1155
1156
1158
1158
1170
1181
1181
1188
1200
1207
1214
1220
1232
1239
1251
1251
1258
1265
1276
1288
1288
1300
1306
1306
1306
1310
1310
1310
1310
1315
1315
1320
1324
1324
1328
1333
1338
1343
1343
1348
1348
1353
1358
1363
1363
1363
1363
1365
1365
1365
1365
1366
1367
1367
1367
1370
1370
1374
1378
1382
1383
1384
1385
1389
1389
1390
1390
1397
1400
1403
1407
1408
1419
1430
1433
1441
1447
1464
1476
1476
1476
1476
1476
1477
1477
1477
1477
1477
1477
1477
1477
1477
1477
1480
1480
1481
1483
1487
1487
1487
1487
1488
1488
1490
1491
1493
1493
1493
1493
1495
1495
1495
1496
1499
1499
1500
1500
1500
1501
1502
1502
1502
1505
1509
1509
1509
1509
1509
1510
1513
1516
1519
1521
1522
1523
1526
1526
1529
1532
1535
1535
1535
1535
1535
1535
1536
1537
1540
1541
1542
1542
1542
1546
1550
1554
1558
1562
1564
1568
1572
1575
1579
1579
1579
1583
1588
1592
1597
1600
1602
1606
1610
1611
1612
1614
1614
1617
1621
1623
1626
1629
1630
1634
1639
1641
1642
1649
1661
1673
1673
1679
1684
1684
1684
1686
1689
1696
1706
1718
1725
1736
1747
1758
1770
1782
1794
1805
1805
1815
1825
1836
1836
1836
1836
1836
1841
1853
1865
1876
1897
1909
1930
1950
1958
1964
1985
1985
1985
1985
1985
1985
1985
1985
1987
1987
1987
1987
1987
1987
1989
1989
1992
1996
1996
1998
2002
2007
2007
2007
2007
2007
2007
2010
2012
2016
2021
2021
2021
2021
2022
2023
2023
2025
2025
2027
2030
2030
2032
2032
2034
2035
2035
2035
2035
2037
2037
2037
2037
2040
2045
2045
2048
2051
2051
2051
2055
2058
2060
2064
2067
2071
2075
2079
2083
2088
2093
2093
2093
2093
2093
2093
2093
2094
2098
2102
2107
2112
2117
2117
2117
2117
2117
2120
2125
2130
2135
2137
2137
2137
2139
2144
2149
2153
2156
2161
2166
2170
2175
2180
2185
2190
2190
2194
2194
2194
2194
2194
2199
2204
2209
2214
2218
2223
2228
2233
2237
2237
2249
2261
2261
2273
2285
2297
2304
2310
2322
2334
2346
2346
2358
2370
2381
2393
2393
2405
2416
2416
2416
2420
2420
2420
2420
2425
2425
2430
2434
2434
2438
2443
2448
2453
2453
2458
2458
2463
2468
2473
