# coding: utf-8 MOD = 10 ** 9 + 7 def II(): return int(input()) def ILI(): return list(map(int, input().split())) def read(): n = II() return (n, ) def solve(n): a = [None] * (n + 1) a_odd_sum = 1 a_even_sum = 0 a[1] = 1 for i in range(2, n + 1): if i % 2 == 0: a[i] = (i * a_odd_sum) % MOD a_even_sum += a[i] else: a[i] = (i * a_even_sum) % MOD a_odd_sum += a[i] ans = a[n] % MOD return ans def main(): params = read() print(solve(*params)) if __name__ == "__main__": main()