#include <stdio.h>
#include <assert.h>
#include <math.h>
#include <iostream>
#include <vector>
#include <limits>
using namespace std;
unsigned long long calcolacifra(long long cifra, long long K, long long E){
cifra--;
long double a =pow(10,cifra);
long double b=a/K;
b=pow(b,1/(long double)E);
return ceil(b)-1;//usando floor(b) mi vengono valori sballati
}
unsigned long long predict(long long K, long long E, long long N) {
N--;//La prima cifra è alla posizione 0
unsigned long long sommaCifre=0;
int cifraCorr=3;
vector<unsigned long long> xConMinimaCifra;
unsigned long long rimaste;
unsigned long long pos;
xConMinimaCifra.push_back(calcolacifra(1,K,E));
xConMinimaCifra.push_back(calcolacifra(2,K,E));
sommaCifre+=xConMinimaCifra[1]-xConMinimaCifra[0];
while(sommaCifre<N){
xConMinimaCifra.push_back(calcolacifra(cifraCorr,K,E));
sommaCifre+=(cifraCorr-1) *(xConMinimaCifra[cifraCorr-1]-xConMinimaCifra[cifraCorr-2]);
cifraCorr++;
}
//Ora ho superato N, devo "tornare indietro"
cifraCorr--;
sommaCifre-=(cifraCorr-1) *(xConMinimaCifra[cifraCorr-1]-xConMinimaCifra[cifraCorr-2]);
rimaste = N-sommaCifre;//Numero di cifre rimaste
pos = rimaste/(cifraCorr-1)+1;
pos+=xConMinimaCifra[cifraCorr-2];
return pos;
}
int main() {
FILE *fr, *fw;
long long K, E, N;
fr = stdin;
fw = stdout;
assert(3 == fscanf(fr, "%lld %lld %lld", &K, &E, &N));
fprintf(fw, "%lld\n", predict(K, E, N));
fclose(fr);
fclose(fw);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bGltaXRzPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdW5zaWduZWQgbG9uZyBsb25nIGNhbGNvbGFjaWZyYShsb25nIGxvbmcgY2lmcmEsIGxvbmcgbG9uZyBLLCBsb25nIGxvbmcgRSl7CiAgICBjaWZyYS0tOwogICAgbG9uZyBkb3VibGUgYSA9cG93KDEwLGNpZnJhKTsKICAgIGxvbmcgZG91YmxlIGI9YS9LOwogICAgYj1wb3coYiwxLyhsb25nIGRvdWJsZSlFKTsKICAgIHJldHVybiBjZWlsKGIpLTE7Ly91c2FuZG8gZmxvb3IoYikgbWkgdmVuZ29ubyB2YWxvcmkgc2JhbGxhdGkKfQp1bnNpZ25lZCBsb25nIGxvbmcgcHJlZGljdChsb25nIGxvbmcgSywgbG9uZyBsb25nIEUsIGxvbmcgbG9uZyBOKSB7CiAgICBOLS07Ly9MYSBwcmltYSBjaWZyYSDDqCBhbGxhIHBvc2l6aW9uZSAwCiAgICB1bnNpZ25lZCBsb25nIGxvbmcgc29tbWFDaWZyZT0wOwogICAgaW50IGNpZnJhQ29ycj0zOwogICAgdmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4geENvbk1pbmltYUNpZnJhOwoKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByaW1hc3RlOwogICAgdW5zaWduZWQgbG9uZyBsb25nIHBvczsKCiAgICB4Q29uTWluaW1hQ2lmcmEucHVzaF9iYWNrKGNhbGNvbGFjaWZyYSgxLEssRSkpOwogICAgeENvbk1pbmltYUNpZnJhLnB1c2hfYmFjayhjYWxjb2xhY2lmcmEoMixLLEUpKTsKCiAgICBzb21tYUNpZnJlKz14Q29uTWluaW1hQ2lmcmFbMV0teENvbk1pbmltYUNpZnJhWzBdOwoKICAgIHdoaWxlKHNvbW1hQ2lmcmU8Til7CiAgICAgICAgeENvbk1pbmltYUNpZnJhLnB1c2hfYmFjayhjYWxjb2xhY2lmcmEoY2lmcmFDb3JyLEssRSkpOwogICAgICAgIHNvbW1hQ2lmcmUrPShjaWZyYUNvcnItMSkgKih4Q29uTWluaW1hQ2lmcmFbY2lmcmFDb3JyLTFdLXhDb25NaW5pbWFDaWZyYVtjaWZyYUNvcnItMl0pOwogICAgICAgIGNpZnJhQ29ycisrOwogICAgfQogICAgLy9PcmEgaG8gc3VwZXJhdG8gTiwgZGV2byAidG9ybmFyZSBpbmRpZXRybyIKICAgIGNpZnJhQ29yci0tOwogICAgc29tbWFDaWZyZS09KGNpZnJhQ29yci0xKSAqKHhDb25NaW5pbWFDaWZyYVtjaWZyYUNvcnItMV0teENvbk1pbmltYUNpZnJhW2NpZnJhQ29yci0yXSk7CgogICAgcmltYXN0ZSA9IE4tc29tbWFDaWZyZTsvL051bWVybyBkaSBjaWZyZSByaW1hc3RlCgogICAgcG9zID0gcmltYXN0ZS8oY2lmcmFDb3JyLTEpKzE7CiAgICBwb3MrPXhDb25NaW5pbWFDaWZyYVtjaWZyYUNvcnItMl07CgogICAgcmV0dXJuIHBvczsKfQoKaW50IG1haW4oKSB7CiAgICBGSUxFICpmciwgKmZ3OwogICAgbG9uZyBsb25nIEssIEUsIE47CiAgICBmciA9IHN0ZGluOwogICAgZncgPSBzdGRvdXQ7CiAgICBhc3NlcnQoMyA9PSBmc2NhbmYoZnIsICIlbGxkICVsbGQgJWxsZCIsICZLLCAmRSwgJk4pKTsKICAgIGZwcmludGYoZncsICIlbGxkXG4iLCBwcmVkaWN0KEssIEUsIE4pKTsKICAgIGZjbG9zZShmcik7CiAgICBmY2xvc2UoZncpOwogICAgcmV0dXJuIDA7Cn0=