#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 20;
const int MOD = 1e9+ 7;
int a[N];
int dp[N][N][10][2];
int d, l, k;
int call(int i, bool smaller, int last, int cnt, int ok) {
// cout << i << " " << smaller << " " << last << " " << cnt << " " << ok << endl;
if (i < 0) {
return cnt <= k;
}
if (!smaller && dp[i][cnt][last][ok] != -1) return dp[i][cnt][last][ok];
int res = 0;
int lim = smaller ? a[i] : 9;
for (int k = 0; k <= lim; k++) {
bool Ok = (k > 0) || ok;
if (!Ok) res += call(i - 1, smaller && (k == lim), 0, 0, 0);
else res += call(i - 1, smaller && (k == lim), k, cnt + (abs(k - last) <= d) * ok, 1);
}
return dp[i][cnt][last][ok] = res;
}
int g(int x) {
memset(dp, -1, sizeof(dp));
l = 0;
while (x) {
a[l++] = x % 10;
x /= 10;
}
return call(l - 1, 1, 0, 0, 0);
}
signed main() {
int a, b;
cin >> a >> b >> d >> k;
cout << g(b) - g(a- 1) << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBOID0gMjA7CmNvbnN0IGludCBNT0QgPSAxZTkrIDc7CgppbnQgYVtOXTsKaW50IGRwW05dW05dWzEwXVsyXTsKCmludCBkLCBsLCBrOwoKaW50IGNhbGwoaW50IGksIGJvb2wgc21hbGxlciwgaW50IGxhc3QsIGludCBjbnQsIGludCBvaykgewogICAgCiAgICAvLyBjb3V0IDw8IGkgPDwgIiAiIDw8IHNtYWxsZXIgPDwgIiAiIDw8IGxhc3QgPDwgIiAiIDw8IGNudCA8PCAiICIgPDwgb2sgPDwgZW5kbDsKICAgIAogICAgaWYgKGkgPCAwKSB7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIGNudCA8PSBrOwogICAgICAgIAogICAgfQogICAgCiAgICBpZiAoIXNtYWxsZXIgJiYgZHBbaV1bY250XVtsYXN0XVtva10gIT0gLTEpIHJldHVybiBkcFtpXVtjbnRdW2xhc3RdW29rXTsKICAgIAogICAgaW50IHJlcyA9IDA7CiAgICBpbnQgbGltID0gc21hbGxlciA/IGFbaV0gOiA5OwogICAgCiAgICBmb3IgKGludCBrID0gMDsgayA8PSBsaW07IGsrKykgewogICAgICAgIAogICAgICAgIGJvb2wgT2sgPSAoayA+IDApIHx8IG9rOwoKICAgICAgICBpZiAoIU9rKSByZXMgKz0gY2FsbChpIC0gMSwgc21hbGxlciAmJiAoayA9PSBsaW0pLCAwLCAwLCAwKTsKICAgICAgICAKICAgICAgICBlbHNlIHJlcyArPSBjYWxsKGkgLSAxLCBzbWFsbGVyICYmIChrID09IGxpbSksIGssIGNudCArIChhYnMoayAtIGxhc3QpIDw9IGQpICogb2ssIDEpOwogICAgICAgIAogICAgfQogICAgCiAgICByZXR1cm4gZHBbaV1bY250XVtsYXN0XVtva10gPSByZXM7CiAgICAKfQoKaW50IGcoaW50IHgpIHsKICAgIAogICAgbWVtc2V0KGRwLCAtMSwgc2l6ZW9mKGRwKSk7CiAgICAKICAgIGwgPSAwOwogICAgCiAgICB3aGlsZSAoeCkgewogICAgICAgIAogICAgICAgIGFbbCsrXSA9IHggJSAxMDsKICAgICAgICB4IC89IDEwOwogICAgICAgIAogICAgfQoKICAgIHJldHVybiBjYWxsKGwgLSAxLCAxLCAwLCAwLCAwKTsKICAgIAp9CgpzaWduZWQgbWFpbigpIHsKICAgIAogICAgaW50IGEsIGI7CiAgICBjaW4gPj4gYSA+PiBiID4+IGQgPj4gazsKICAgIAogICAgY291dCA8PCBnKGIpIC0gZyhhLSAxKSA8PCBlbmRsOwogICAgCn0K