# 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()