#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; const ll mod = 1000000007; #define rep(i,n) for(int i=0;i=0;i--) #define all(x) (x).begin(),(x).end() bool cond(ull x, ull A, ull B, ull C) { //A年経過したときにもらえるお小遣い = (A年目にもらえるB円) + (それまでのA-1年間にもらえる1円) return (B + (A - 1)) * (x / A) + (x % A) >= C; } int main() { ull A, B, C = 0; cin >> A >> B >> C; ull ub = 1000000000000000000; ull lb = 0; while (ub - lb > 1) { ull mid = (ub + lb) / 2; if(cond(mid, A, B, C)) { ub = mid; } else { lb = mid; } } cout << ub << endl; return 0; }