#include #include using namespace std; unordered_mapmemo; int dfs(int k,int p,int d){ if(k<0||p<0)return 0; if(d==0)return 1; auto x=d*8+k*2+p; if(memo.find(x)==memo.end()){ memo[x]=(dfs(k-1,1,d-1)+dfs(2,p-1,d-1))%1000000007; } return memo[x]; } int main(){ int n; scanf("%d",&n); printf("%d\n",dfs(2,0,n)); }