Problem: p03318
Buggy submission (Python (3.4.3), verdict: Wrong Answer):


K = int(input())

Sunuke = [1, 2, 3, 4, 5, 6, 7, 8, 9]


if K <= len(Sunuke):
    for i in range(K):
        print(Sunuke[i])

else:
    resi = K - len(Sunuke)
    digit = 1
    num = 19
    Sunuke.append(num)
    resi -= 1
    endFlg = False
    while resi > 0:
        for d in range(1, digit+1):
            for i in range(9):
                num += 10
                Sunuke.append(num)

                resi -= 1
                if resi == 0:
                    endFlg = True
                    break
            if endFlg:
                break

for i in range(K):
    print(Sunuke[i])

Failing test case input:
225

Expected output:
1
2
3
4
5
6
7
8
9
19
29
39
49
59
69
79
89
99
199
299
399
499
599
699
799
899
999
1099
1199
1299
1399
1499
1599
1699
1799
1899
1999
2999
3999
4999
5999
6999
7999
8999
9999
10999
11999
12999
13999
14999
15999
16999
17999
18999
19999
20999
21999
22999
23999
24999
25999
26999
27999
28999
29999
39999
49999
59999
69999
79999
89999
99999
109999
119999
129999
139999
149999
159999
169999
179999
189999
199999
209999
219999
229999
239999
249999
259999
269999
279999
289999
299999
309999
319999
329999
339999
349999
359999
369999
379999
389999
399999
499999
599999
699999
799999
899999
999999
1099999
1199999
1299999
1399999
1499999
1599999
1699999
1799999
1899999
1999999
2099999
2199999
2299999
2399999
2499999
2599999
2699999
2799999
2899999
2999999
3099999
3199999
3299999
3399999
3499999
3599999
3699999
3799999
3899999
3999999
4099999
4199999
4299999
4399999
4499999
4599999
4699999
4799999
4899999
4999999
5999999
6999999
7999999
8999999
9999999
10999999
11999999
12999999
13999999
14999999
15999999
16999999
17999999
18999999
19999999
20999999
21999999
22999999
23999999
24999999
25999999
26999999
27999999
28999999
29999999
30999999
31999999
32999999
33999999
34999999
35999999
36999999
37999999
38999999
39999999
40999999
41999999
42999999
43999999
44999999
45999999
46999999
47999999
48999999
49999999
50999999
51999999
52999999
53999999
54999999
55999999
56999999
57999999
58999999
59999999
69999999
79999999
89999999
99999999
109999999
119999999
129999999
139999999
149999999
159999999
169999999
179999999
189999999
199999999
209999999
219999999
229999999
239999999
249999999
259999999
269999999
279999999


Actual output:
1
2
3
4
5
6
7
8
9
19
29
39
49
59
69
79
89
99
109
119
129
139
149
159
169
179
189
199
209
219
229
239
249
259
269
279
289
299
309
319
329
339
349
359
369
379
389
399
409
419
429
439
449
459
469
479
489
499
509
519
529
539
549
559
569
579
589
599
609
619
629
639
649
659
669
679
689
699
709
719
729
739
749
759
769
779
789
799
809
819
829
839
849
859
869
879
889
899
909
919
929
939
949
959
969
979
989
999
1009
1019
1029
1039
1049
1059
1069
1079
1089
1099
1109
1119
1129
1139
1149
1159
1169
1179
1189
1199
1209
1219
1229
1239
1249
1259
1269
1279
1289
1299
1309
1319
1329
1339
1349
1359
1369
1379
1389
1399
1409
1419
1429
1439
1449
1459
1469
1479
1489
1499
1509
1519
1529
1539
1549
1559
1569
1579
1589
1599
1609
1619
1629
1639
1649
1659
1669
1679
1689
1699
1709
1719
1729
1739
1749
1759
1769
1779
1789
1799
1809
1819
1829
1839
1849
1859
1869
1879
1889
1899
1909
1919
1929
1939
1949
1959
1969
1979
1989
1999
2009
2019
2029
2039
2049
2059
2069
2079
2089
2099
2109
2119
2129
2139
2149
2159
2169


Fixed submission (verdict: Accepted):


K = int(input())

Sunuke = [1, 2, 3, 4, 5, 6, 7, 8, 9]

def ns(n):
    return n / sum(map(int, list((str(n)))))


if K <= len(Sunuke):
    for i in range(K):
        print(Sunuke[i])

else:
    
    resi = K - len(Sunuke)
    
    digit = 0
    snk = 9

    while resi > 0:
        nxt1 = snk + 10**digit
        nxt2 = snk + 10**(digit+1)

        
        if ns(nxt1) > ns(nxt2):
            digit +=1
            snk = nxt2
            Sunuke.append(snk)
            resi -= 1
        else:
            snk = nxt1
            Sunuke.append(snk)
            resi -= 1


for i in range(K):
    print(Sunuke[i])