import Data.List (unfoldr) m :: Int m = 10^9+7 main :: IO () main = do n <- readLn print $ (!!(n-1)) $ flip unfoldr (1,0,1) $ \(i,evenS,oddS) -> case even i of True -> Just (i*oddS`mod`m, (i+1, evenS+i*oddS`mod`m, oddS)) False -> Just (i*evenS`mod`m, (i+1, evenS, oddS+i*evenS`mod`m))