#include #include using namespace std; using namespace atcoder; //const long nPrime = 1000000007; //const long nPrime = 998244353; typedef long long ll; int main() { ll a,b,n; cin >> a >> b >> n; if(n == 1){ cout << 0 << endl; return 0; } ll iNG = -1, iOK = 1e15; while(iOK-iNG > 1){ ll iTmp = (iOK+iNG)/2; bool bOK = false; for(ll nA = 1; nA < 40; nA++){ ll nB = (iTmp-nA*a)/b; if(nB < nA){ continue; } ll p = nB/nA; ll q = nB%nA; ll nTmp = 1; for(ll i = 0; i < nA; i++){ ll k = (i= (n+k-1)/k){ bOK = true; break; } nTmp *= k; } } if(bOK){ iOK = iTmp; } else { iNG = iTmp; } } cout << iOK <