def modinv(a, m): return pow(a, m - 2, m); def factorialMod(n, modulus): ans=1 if n <= 1000000: #calculate the factorial normally (right argument of range() is exclusive) for i in range(1,n+1): ans = (ans * i) % modulus else: #Fancypants method for large n for i in range(n+1,modulus): ans = (ans * i) % modulus ans = modinv(ans, modulus) ans = -1*ans + modulus return ans % modulus mod = 1000000007; k = raw_input() print factorialMod(int(k), mod)