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<int64 []> 32
        for i in 0..31 do
            nCr.[i] <- Array.zeroCreate<int64> 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()