using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static long NN => long.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var ok = 1_000_000_000_000_000_000; var ng = 0L; while (ok - ng > 1) { var mid = (ok + ng) / 2; var bd = mid / c[0]; var ad = mid - bd; var bdsum = bd * c[1]; if (bd != 0 && (bdsum < bd || bdsum < c[1] || bdsum % c[1] != 0)) ok = mid; else if (ad + bdsum >= c[2]) ok = mid; else ng = mid; } WriteLine(ok); } }