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
from sys import stdout, stdin

def f (k, m):
	x, s, res = 1, 1, 0
	while x <= m:
		if x * 10 - 1 <= m:
			res += k * s * (x * 10 - x)
		else:
			res += k * s * (m - x + 1)
		s += 1
		x *= 10
	return res

def obtRes (w, n, k):
	i, j, rep = n, n+w+1, 60
	while rep > 0:
		m = (i+j)/2
		if f(k, m) - f(k, n-1) <= w:
			i = m
		else:
			j = m
		rep -= 1
	if f(k, i) - f(k, i-1) <= w:
		return i - n + 1
	return 0

w, n, k = (int(i) for i in stdin.readline().split())
stdout.write(str(obtRes(w, n, k))+'\n')