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.io.BufferedReader;
import java.io.IOException;
import java.util.*;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class SIF {
    public static void main(String[] args) throws IOException {
        //BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
                Scanner s = new Scanner(System.in);
                //long q = s.nextLong();
                long w = s.nextLong(), m = s.nextLong(), k =s.nextLong();
                //System.out.println(q);
                //77 7 7
                long curr = Long.toString(m).length();
                long ans=0;
                long pow =1;
                long left = 1;
                for( int i = 0;i<curr;i++){
                    pow = pow*10;
                }
                left = pow - m;
                //System.out.println("left ki value "+left);
                while(w/(curr*k)>0){
                //System.out.println("w/(curr*k) ki value "+(w/(curr*k)) +" curr ki val "+curr);
                long add = Math.min(left, w/(curr*k));
                ans = ans+add;
                //System.out.println("add ki value "+add);
                w = w - add*k*curr;
                //System.out.println("w ki v " +w);
                curr++;
                left = pow*10-pow;
                pow = pow*10;
                
                }
                /*while(w>0){
                int cnt=0;
                long z = m;
                while( z!=0){
                  cnt = cnt+1;
                    z = z/10;
                }
                long value = k*cnt;
                w = w-value;
                if(w<0)
                    break;
                m++;
                ans = ans+1;
                //System.out.println("w ki value "+w+" ans ki value "+ans);
                //9 1 1
    }*/
                System.out.println(ans);
    }
}
