let s = stdin.ReadLine() |> int64

// (長方形の面積A - 長方形の内部の長方形Bの面積)=S なる三角系を作成することができる
let sqrtInt64 x = 
    match x with
    | 0L -> 0L
    | 1L -> 1L 
    | _ -> sqrt (float x) |> ceil |> int64

let squareALength = sqrtInt64 s

let rectangularBLength =
    (squareALength * squareALength - s) 
    |> function
    | 0L -> 0L, 0L
    | 1L -> 1L, 1L
    | x -> 
        seq{x-1L .. -1L .. 1L} |> Seq.find (fun y -> x % y = 0L)
        |> fun y -> y, x/y

[ 0L; 0L; fst rectangularBLength; squareALength; squareALength; snd rectangularBLength ]
|> Seq.iter stdout.WriteLine