#include #define rep(i, a) for (int i = 0; i < (a); i++) #define rep2(i, a, b) for (int i = (a); i < (b); i++) #define repr(i, a) for (int i = (a) - 1; i >= 0; i--) #define repr2(i, a, b) for (int i = (b) - 1; i >= (a); i--) using namespace std; typedef long long ll; const ll inf = 1e9; const ll mod = 1e9 + 7; typedef pair P; // bx+(a-a/b*b)y // ay+(x-a/by)b P extgcd(ll a, ll b) { if (b == 0) return P(1, 0); P p = extgcd(b, a % b); return P(p.second, p.first - a / b * p.second); } int main() { ll A, B, T; cin >> A >> B >> T; ll g = __gcd(A, B); ll a = A / g; ll b = B / g; P p = extgcd(A, B); ll ans = 0; for (ll i = (T + g - 1) / g;; i++) { ll x = p.first * i; ll y = p.second * i; ll l = (-x + b - 1) / b; ll r = y / a; if (r >= l) { ans = g * i; break; } } cout << ans << endl; }