open System let binCharArrayToInt cs = let mutable result = 0 let r = Array.rev cs for i = 0 to cs.Length - 1 do let x = if r.[i] = '0' then 0 else pown 2 i result <- result + x result let n = stdin.ReadLine() |> int let bin = Convert.ToString(n, 2) let count1 = bin.ToCharArray() |> Array.filter (fun c -> c = '1') |> Array.length if count1 < 2 then [| -1; -1; -1 |] else let idx = bin.ToCharArray() |> Array.findIndex (fun c -> c = '1') |> fun x -> x + 1 let (l, r) = bin.ToCharArray() |> Array.splitAt idx let ll = l |> Array.toList |> fun lst -> lst @ (List.replicate (bin.Length - idx) '0') |> List.toArray [| n binCharArrayToInt ll binCharArrayToInt r |] |> Array.map string |> String.concat " " |> printfn "%s"