from collections import defaultdict dic = defaultdict(int) MOD = 10 ** 9 + 7 n = int(input()) tmp = 1 X = [1] for i in range(1,21008): tmp *= i tmp %= MOD if tmp in dic: print(i,tmp,dic[tmp],i-dic[tmp]) break dic[tmp] = i X.append(tmp) if n >= 21008: n = (n - 11448) % 9560 + 11448 print(X[n])