import sys from typing import List, Tuple def int1(x: str, /): return int(x) - 1 def input(): return sys.stdin.readline().rstrip('\n') def main(): M = 10 ** 9 + 7 a = [0, 1, 2] s = [0, 1, 2] n = int(input()) for i in range(3, n + 1): a.append(s[-1] * i % M) s.append((s[-2] + a[-1]) % M) return a[n] def _start(): ret = main() if ret is not None: if isinstance(ret, List) or isinstance(ret, Tuple): print(*ret) else: print(ret) if __name__ == '__main__': _start()