#include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; int main() { int a, b, k; cin >> a >> b >> k; ll g = 1LL*a/__gcd(a, b)*b; ll ng = 0, ok = INF; while(ok-ng > 1){ ll mid = (ok+ng)/2; if(mid/a+mid/b-mid/g >= k) ok = mid; else ng = mid; } cout << ok << "\n"; return 0; }