#include <iostream>
#include <cstring>
using namespace std;
const int N = 1e3+10, mod = 1e9+7;
int n;
int C[N][N];
void init()
{
for(int i = 0; i < N; ++ i)
for(int j = 0; j <= i; ++ j)
if(!j) C[i][j] = 1;
else C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % mod;
}
int main()
{
scanf("%d", &n);
init();
int ans = 0;
for(int k = 2; k <= n - 2; ++ k) ans = ((long long)ans + (long long)C[n - 1][k] * (k - 1) % mod * (n - k - 1) % mod) % mod;
printf("%d\n", ans);
}