fn main() { let mut vtp = String::new(); std::io::stdin().read_line(&mut vtp).ok(); let vtp: Vec = vtp.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let v = vtp[0]; let t = vtp[1]; let p = vtp[2]; let mut result = (p + 1) * v; let mut times = (result - 1) / t + 1; let mut prev_result = result; result += times; while result > prev_result { prev_result = result; let prev_times = times; times = (result - 1) / t + 1; result += times - prev_times; } println!("{}", result); }