CF BUDDY
← Problems·

1268A · Long Beautiful Integer

1700 · constructive algorithms, greedy, implementation

Problem: You are given an integer xx of nn digits a1,a2,,ana_1, a_2, \ldots, a_n, which make up its decimal notation in order from left to right.

Also, you are given a positive integer k<nk < n.

Let's call integer b1,b2,,bmb_1, b_2, \ldots, b_m beautiful if bi=bi+kb_i = b_{i+k} for each ii, such that 1imk1 \leq i \leq m - k.

You need to find the smallest beautiful integer yy, such that yxy \geq x.

Input Format: The first line of input contains two integers n,kn, k (2n200000,1k<n2 \leq n \leq 200\,000, 1 \leq k < n): the number of digits in xx and kk.

The next line of input contains nn digits a1,a2,,ana_1, a_2, \ldots, a_n (a10a_1 \neq 0, 0ai90 \leq a_i \leq 9): digits of xx.

Output Format: In the first line print one integer mm: the number of digits in yy.

In the next line print mm digits b1,b2,,bmb_1, b_2, \ldots, b_m (b10b_1 \neq 0, 0bi90 \leq b_i \leq 9): digits of yy.

Sample Cases

Case 1

Input

3 2
353

Output

3
353

Case 2

Input

4 2
1234

Output

4
1313

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback