We'll define S(n) for positive integer n as follows: the number of the n's digits in the decimal base. For example, S(893) = 3, S(114514) = 6.

You want to make a consecutive integer sequence starting from number m (m, m + 1, ...). But you need to pay S(n)·k to add the number n to the sequence.

You can spend a cost up to w, and you want to make the sequence as long as possible. Write a program that tells sequence's maximum length.

Input

The first line contains three integers w (1 ≤ w ≤ 1016), m (1 ≤ m ≤ 1016), k (1 ≤ k ≤ 109).

Please, do not write the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

Output

The first line should contain a single integer — the answer to the problem.

Examples

Input

9 1 1


Output

9


Input

77 7 7


Output

7


Input

114 5 14


Output

6


Input

1 1 2


Output

0

w = 0
m = 0
k = 0;
pows = [0] * 20

prod = 10;
pows[1] = 10;
pows[0] = 0;
for i in range(2, 20):
    prod *= 10;
    pows[i] = pows[i - 1] * 10;

a = map(int, raw_input().split())
w = a[0]
m = a[1]
k = a[2]
    
leng = 1;
tmp = m;
while (tmp//10) > 0:
    leng += 1;
    ++leng;
    tmp //= 10;
    
ans = 0;
e = leng;
while True:
    if e == 20:break
    if w <= 0: break

    if e == 1:
        tmp = 10 - m
    elif m == pows[e] - 1:
        tmp = 1;
    elif m > 0:
        tmp = pows[e] - m
    else:
        tmp = pows[e] - pows[e - 1]

    if tmp * e * k <= w :
        ans += tmp;
        w -= tmp * k * e;
        m = 0
    else:
        rem = w // (e * k);
        ans += rem;
        break;

    e  =  e + 1;

print ans;
