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
import java.util.*;

public class R219Div2QB2 {
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		long w = s.nextLong();
		long m = s.nextLong();
		long k = s.nextLong();
		
		System.out.println(solve(w, m , k));
		s.close();
	}
	public static long solve(long w, long m, long k){
		long length = (m + "").toString().length();
		long max = (long) Math.pow(10, length);
		long maxToM = max - m;
		long possible = w / (k * length);
		if(possible <= maxToM)
			return possible;
		w -= maxToM * (k * length);
		if(w < k * (length + 1)){
			return maxToM;
		}
		m = max;
		return solve(w, m, k) + maxToM;
	}
}
