#include const long long mod = 1000000007; int main() { int N,C[5050] = {0,}; long long D[5050] = {1,}; scanf ("%d",&N); for (int i=0;i=0;i--){ D[i+1] = (D[i+1] + mod - D[i] * C[k] % mod) % mod; } c++; } long long ans = 0, fact = 1; for (int i=N;i>=0;i--){ ans = (ans + D[i] * fact) % mod; fact = fact * (N - i + 1) % mod; } printf ("%lld\n",ans); return 0; }