#include<iostream>

using namespace std;

#define rep(i, n) for (int i = 0; i < int(n); ++i)

int solve(string a, string b, int k) {
  if (a.size() == 0u) return 0;
  if (a[a.size() - 1] >= b[b.size() - 1]) {
    return solve(a.substr(0, a.size() - 1), b.substr(0, b.size() - 1), k) * 10 + a[a.size() - 1] - b[b.size() - 1];
  }
  int res = -1000000000;
  if (k > 0) {
    res = solve(a.substr(0, a.size() - 1), b.substr(0, b.size() - 1), k - 1) * 10 + a[a.size() - 1] - b[b.size() - 1] + 10; 
  }
  for (int i = a.size() - 2; i >= 0; --i) {
    if (a[i] != '0') {
      --a[i];
      break;
    }
    a[i] = '9';
    if (k > 0) res = max(res, solve(a.substr(0, a.size() - 1), b.substr(0, b.size() - 1), k - 1) * 10 + a[a.size() - 1] - b[b.size() - 1] + 10);
  }
  return max(res, solve(a.substr(0, a.size() - 1), b.substr(0, b.size() - 1), k) * 10 + a[a.size() - 1] - b[b.size() - 1] + 10);
}

int main() {
  string a, b;
  int k;
  cin >> a >> b >> k;
  while (b.size() < a.size()) b = "0" + b;
  cout << solve(a, b, k) << endl;
  return 0;
}