#define _crt_secure_no_warnings #ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; int main() { int a, b, c; cin >> a >> b >> c; int d, e, f; if (a > b) { swap(a, b); } if ((!(c%a)) || (!(c%b))) { cout << c << endl; return 0; } if (!(b%a)) { f = (int)(c / a)*a; if (f < c) { f += a; } cout< -1) { f = d*b + e*a; if (f >= c) { ans = min(ans,f); } if (d*b + e*a > c) { d--; } else if (f == c) { ans = c; break; } else { if ((int)((c - b*d) / a)) { e += (int)((c - b*d) / a); } else { e++; } } } cout << ans << endl; }