#include <bits/stdc++.h>
using namespace std;
struct debugger {
  template <typename T>
  debugger& operator,(const T& v) {
    cerr << v << "\t";
    return *this;
  }
} dbg;
template <class T>
void setmax(T& a, T b) {
  if (a < b) a = b;
}
template <class T>
void setmin(T& a, T b) {
  if (b < a) a = b;
}
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
inline T sqr(T x) {
  return x * x;
}
template <class T>
inline T Mod(T n, T m) {
  return (n % m + m) % m;
}
template <class T>
string toString(T n) {
  ostringstream oss;
  oss << n;
  oss.flush();
  return oss.str();
}
int toInt(string s) {
  int r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
bool isVowel(char ch) {
  ch = tolower(ch);
  if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
    return true;
  return false;
}
bool isUpper(char c) { return c >= 'A' && c <= 'Z'; }
bool isLower(char c) { return c >= 'a' && c <= 'z'; }
long long Pow(long long B, long long P) {
  long long R = 1;
  while (P > 0) {
    if (P % 2 == 1) R = (R * B);
    P /= 2;
    B = (B * B);
  }
  return R;
}
int BigMod(long long B, long long P, long long M) {
  long long R = 1;
  while (P > 0) {
    if (P % 2 == 1) {
      R = (R * B) % M;
    }
    P /= 2;
    B = (B * B) % M;
  }
  return (int)R;
}
void binprint(long long mask, long long n) {
  long long i;
  string s = "";
  do {
    s += (mask % 2 + '0');
    mask /= 2;
  } while (mask);
  reverse(s.begin(), s.end());
  s = string(max(n - (int)s.size(), 0LL), '0') + s;
  for (i = (int)s.size() - n; i < (int)s.size(); i++) printf("%c", s[i]);
  printf("\n");
}
void ASCII_Chart() {
  int i, j, k;
  printf("ASCII Chart:(30-129)\n");
  for (i = 30; i < 50; i++) {
    for (j = 0; j < 5; j++) {
      k = i + j * 20;
      printf("%3d---> '%c'   ", k, k);
    }
    printf("\n");
  }
}
int DSUM(int v) {
  int sum = 0;
  while (v) {
    sum += v % 10;
    v /= 10;
  }
  return sum;
}
int a[1000006], b[1000006];
char ch;
double aa, bb;
long long ans, mx, mn, u, v, x, y, n, m, cnt, sum;
map<int, int> mp, mp1;
set<int> ST;
vector<int> VC, VD, VB;
void input(int t) {
  int i;
  for (i = 0; i < t; i++) cin >> a[i];
}
void output(int t) {
  int i;
  for (i = 0; i < t; i++) cout << b[i] << " ";
}
string s, s1, str;
int main() {
  int a, b, c, i, j, k, k1, k2, k3, k4, m, cnt = 0, cnt1 = 0, szz = 0;
  while (cin >> a >> b >> c) {
    if (c >= 5) {
      str = toString(a);
      szz = str.size();
      for (i = 0; i <= 9; i++) {
        k4 = a * 10 + i;
        for (j = 0; j <= 9 && k4 % b == 0; j++) {
          int k44 = k4 * 10 + j;
          for (k = 0; k <= 9 && k44 % b == 0; k++) {
            int k444 = k44 * 10 + k;
            for (k1 = 0; k1 <= 9 && k444 % b == 0; k1++) {
              int k4444 = k444 * 10 + k1;
              for (k2 = 0; k2 <= 9 && k4444 % b == 0; k2++) {
                int t = k4444 * 10 + k2;
                if (t % b == 0) {
                  s = toString(t);
                  int y;
                  k = s.size();
                  y = k;
                  k = k - szz;
                  if ((c - k) > 0) {
                    str = str + '0';
                    k = toInt(str);
                    if (k % b == 0)
                      ;
                    else {
                      cout << "-1" << endl;
                      return 0;
                    }
                  }
                  cout << a;
                  int chk = 0;
                  for (i = 0; i < c - y - szz; i++) {
                    cout << "0";
                    chk = 1;
                  }
                  for (i = szz; i < y; i++) cout << s[i];
                  cout << endl;
                  return 0;
                }
              }
            }
          }
        }
      }
    } else if (c == 1) {
      k = a;
      for (i = 0; i <= 9; i++) {
        int t = k * 10 + i;
        if (t % b == 0) {
          cout << t << endl;
          return 0;
        }
      }
    } else if (c == 2) {
      for (i = 0; i <= 9; i++) {
        k = a * 10 + i;
        for (j = 0; j <= 9 && k % b == 0; j++) {
          int t = k * 10 + j;
          if (t % b == 0) {
            cout << t << endl;
            return 0;
          }
        }
      }
    } else if (c == 3) {
      for (i = 0; i <= 9; i++) {
        k = a * 10 + i;
        for (j = 0; j <= 9 && k % b == 0; j++) {
          int t1 = k * 10 + j;
          for (int j1 = 0; j1 <= 9 && t1 % b == 0; j1++) {
            int t = t1 * 10 + j1;
            if (t % b == 0) {
              cout << t << endl;
              return 0;
            }
          }
        }
      }
    } else if (c == 4) {
      for (i = 0; i <= 9; i++) {
        k = a * 10 + i;
        for (j = 0; j <= 9 && k % b == 0; j++) {
          int t1 = k * 10 + j;
          for (int j1 = 0; j1 <= 9 && t1 % b == 0; j1++) {
            int t2 = t1 * 10 + j1;
            for (int j2 = 0; j2 <= 9 && t2 % b == 0; j2++) {
              int t = t2 * 10 + j2;
              if (t % b == 0) {
                cout << t << endl;
                return 0;
              }
            }
          }
        }
      }
    }
    cout << "-1" << endl;
  }
  return 0;
}
