let (|ODD|EVE|) n = match n%2,n with | 0,x -> EVE x | _,x -> ODD x let genTakableEdgeLengthList = function | ODD x -> [1 .. (x/2)+1] | EVE x -> [1 .. (x/2) ] let D = stdin.ReadLine() |> int D/2 |> genTakableEdgeLengthList |> List.map (fun x -> x * (D/2-x)) |> List.max |> printfn "%i"