#include using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i bool chmin(T& a, T b){ if(a > b){a = b; return true;} return false; } template bool chmax(T& a, T b){ if(a < b){a = b; return true;} return false; } template T gcd(T a, T b){ return a % b ? gcd(b, a % b) : b; } template T lcm(T a, T b){ return a / gcd(a, b) * b; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll A, B, K; cin >> A >> B >> K; ll L = lcm(A, B); ll high = 1e18 + 100, low = 1LL; while(abs(high - low) > 1){ ll mid = (high + low) / 2; if(mid / A + mid / B - mid / L >= K) high = mid; else low = mid; } cout << high << endl; return 0; }