import sys
'''
'''
def run(x, k):
n = len(x) % k
m = len(x)//k
x1 = x
if n != 0:
m += 1
x1 = x+x[n:k]
rt = []
for i in range(0, len(x1), k):
rt.append(x1[i:i+k])
for i in range(1, len(rt)):
if rt[0] < rt[i]:
rt[0] = str(int(rt[0])+1)
break
if rt[0] > rt[i]:
break
return (rt[0]*m)[:len(x)]
if sys.argv[-1] == 't':
cases = [
['353', 2, '353'],
['1234', 2, '1313'],
['1234', 3, '1241'],
['1214', 2, '1313'],
['1204', 2, '1212'],
['121256', 2, '131313'],
['121056', 2, '121212'],
['121210', 2, '121212'],
['12345', 2, '13131'],
['12345', 3, '12412'],
['12945', 3, '13013'],
]
for case in cases:
r = run(*case[:-1])
if r != case[-1]:
print(case, r)
else:
b, k = input().split(" ")
print(b)
print(run(input(), int(k)))
1422A - Fence | 21D - Traveling Graph |
1559B - Mocha and Red and Blue | 1579C - Ticks |
268B - Buttons | 898A - Rounding |
1372B - Omkar and Last Class of Math | 1025D - Recovering BST |
439A - Devu the Singer and Churu the Joker | 1323A - Even Subset Sum Problem |
1095A - Repeating Cipher | 630F - Selection of Personnel |
630K - Indivisibility | 20B - Equation |
600B - Queries about less or equal elements | 1015A - Points in Segments |
1593B - Make it Divisible by 25 | 680C - Bear and Prime 100 |
1300A - Non-zero | 1475E - Advertising Agency |
1345B - Card Constructions | 1077B - Disturbed People |
653A - Bear and Three Balls | 794A - Bank Robbery |
157A - Game Outcome | 3B - Lorry |
1392A - Omkar and Password | 489A - SwapSort |
932A - Palindromic Supersequence | 433A - Kitahara Haruki's Gift |