N = int(input()) P = 10 ** 9 + 7 C = 10 ** 5 + 10 fact = [1] * C fact_inv = [1] * C for i in range(2,C): fact[i] = fact[i-1] * i % P fact_inv[-1] = pow(fact[-1],P-2,P) for i in range(C-2,1,-1): fact_inv[i] = fact_inv[i+1] * (i + 1) % P ans = 0 for i in range(1,N+1): c = fact[N] * fact_inv[i] % P * fact_inv[N-i] % P * pow(i,N-i,P) % P ans = (ans + c) % P print(ans)