import Data.Int (Int64) modProd :: Integral a => a -> a -> a -> a modProd m a b = a * b `mod` m solve :: Integral a => a -> a -> a solve m n = foldr1 (modProd m) [modProd m k (2 * k - 1) | k <- [1 .. n]] main :: IO () main = do let m = 1000000007 :: Int64 print . solve m =<< readLn