#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1e9+7; int main() { int n; cin>>n; ll dp[2][3001][3001]={}; dp[0][0][0]=1; ll s[2][3001]; fill(s[0], s[0]+n+1, 1); fill(s[1], s[1]+n+1, 0); for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ dp[0][i][j]+=(s[0][j]+s[1][j-1]); dp[0][i][j]%=MOD; if(j0){ dp[1][i][j]+=dp[0][i-(n-j)][j+1]; } dp[1][i][j]+=dp[1][i-1][j+1]; dp[1][i][j]+=dp[1][i-1][j]; dp[1][i][j]%=MOD; } s[0][0]=0; s[1][0]=0; for(int j=1; j<=n; j++){ s[0][j]=(s[0][j-1]+dp[0][i][j])%MOD; s[1][j]=(s[1][j-1]+dp[1][i][j])%MOD; } } ll ans=(s[0][n]+s[1][n])%MOD; cout<