let solve a b c = let max_n = (c + b) / a in let rec solve_core n = let ans = if n * a - b = c || n * a - b <= 0 && n * a = c then Some n else None in match ans with Some n when n = max_n -> n :: [] | None when n = max_n -> [] | None -> solve_core (n+1) | Some n -> n :: solve_core (n+1) in solve_core 1 let rec print_list = function [] -> print_endline "" | a :: rest -> print_endline (string_of_int a); print_list rest let _ = let a, b, c = Scanf.scanf "%d %d %d" (fun a b c -> a, b, c) in let ans = solve a b c in if List.length ans > 0 then print_list ans else print_endline "-1"