#include using namespace std; typedef long long ll; ll a, b; unordered_map mp; ll solve(int n) { if (n == 1) return 0; if (mp.find(n) != mp.end()) return mp[n]; ll ans = (n - 1) * b + a; for (auto i = 2; i * i <= n; ++i) { auto temp = (n + i - 1) / i; auto tmp1 = solve(temp) + b * (i - 1) + a; auto tmp2 = solve(i) + b * (temp - 1) + a; ans = min({ ans, tmp1, tmp2 }); } return mp[n] = ans; } int main(){ int n; cin >> a >> b >> n; cout << solve(n) << endl; return 0; }