module main; // https://yukicoder.me/submissions/17848 より import std; // aとbを比較してbの方が小さいならばaの値をbに更新する void chMin(T)(ref T a, in T b) { if (a > b) a = b; } void main() { // 入力 long A, B, T; readln.chomp.formattedRead("%d %d %d", A, B, T); // 答えの計算 long ans = 10L ^^ 10; for (int i = 0; i < 2_000_000 && A * (i - 1) < T; i++) { long num = A * i; if (T > num) num += (T - num) / B * B; while (num < T) num += B; chMin(ans, num); } for (int i = 0; i < 2_000_000 && B * (i - 1) < T; i++) { long num = B * i; if (T > num) num += (T - num) / A * A; while (num < T) num += A; chMin(ans, num); } // 答えの出力 writeln(ans); }