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

public class B {
  public static void main(String[] args){
    FastScanner sc = new FastScanner();
    long w = sc.nextLong();
    long m = sc.nextLong();
    long k = sc.nextLong();

    long currentDigits = new Long(m).toString().length();
    long upperBound = 1;
    for(int i = 0; i < currentDigits; i++) {
      upperBound *= 10;
    }

    long len = 0;
    while(w > 0) {
      long numbers = upperBound - m;
      if(numbers <= w / (k * currentDigits)) {
        len += numbers;
        w -= numbers * k * currentDigits;
        m = upperBound;
        upperBound *= 10;
        currentDigits++;
      } else {
        len += w / (k * currentDigits);
        break;
      }
    }
    System.out.println(len);
  }

  public static class FastScanner {
    BufferedReader br;
    StringTokenizer st;

    public FastScanner(String s) {
      try {
        br = new BufferedReader(new FileReader(s));
      } catch (FileNotFoundException e) {
        e.printStackTrace();
      }
    }

    public FastScanner() {
      br = new BufferedReader(new InputStreamReader(System.in));
    }

    String nextToken() {
      while (st == null || !st.hasMoreElements()) try {
        st = new StringTokenizer(br.readLine());
      } catch (IOException e) {
        e.printStackTrace();
      }
      return st.nextToken();
    }

    int nextInt() {
      return Integer.parseInt(nextToken());
    }

    long nextLong() {
      return Long.parseLong(nextToken());
    }

    double nextDouble() {
      return Double.parseDouble(nextToken());
    }
  }
}
