//f[i][j],和为i,j个数字的方案数
#include<bits/stdc++.h>
using namespace std;
const int N=1100,mod=1e9+7;
int f[N][N];
int main(){
int n;scanf("%d",&n);
f[0][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
f[i][j]=(f[i-1][j-1]+f[i-j][j])%mod;
}
}
int ans=0;
for(int i=1;i<=n;i++) ans=(ans+f[n][i])%mod;
printf("%d\n",ans);
return 0;
}