open System let ri () = stdin.ReadLine() |> int let ria () = stdin.ReadLine().Split() |> Array.map int type Sol() = member this.Solve() = let x = ri () let nCr = Array.zeroCreate 32 for i in 0..31 do nCr.[i] <- Array.zeroCreate 32 nCr.[i].[0] <- 1L for i in 1..31 do for j in 1..i do nCr.[i].[j] <- nCr.[i-1].[j-1] + nCr.[i-1].[j] let nc =(if x > 31 then 0L else nCr.[31].[x] ) let nn =(if x > 31 || x = 0 then 0L else nCr.[30].[(x-1)] ) printfn "%d %d" nc (2147483647L * nn) let mySol = new Sol() mySol.Solve()