#include using namespace std; typedef long long LL; const LL MOD=1e9+7; int N; LL dp[2016][2016]; LL sum[2017]; LL getsum(int n,int p,int t){ if(t)return (sum[n+1]-sum[p+1]+MOD)%MOD; else return (sum[p+1])%MOD; } LL f(int n,int t){ if(n==N-1)fill(dp[N-1],dp[N-1]+N,1); if(n==0)return dp[0][0]; sum[0]=0; for(int i = 0; i <= n; i++)sum[i+1]=(sum[i]+dp[n][i])%MOD; for(int i = 0; i < n; i++)dp[n-1][i]=getsum(n,i,t); return f(n-1,1-t); } int main() { cin>>N; if(N<=2)cout<<0<