#include #include //#include using ll=long long; #define rep(i,a,b) for(int i=a;i; using PD=pair; using PL=pair; int mod1=998244353; int mod2=1000000007; const ll INF = 1000000000000000000; const int big = 2147483647; struct st{ ll x,y,z; st(ll x=0,ll y=0,ll z=0):x(x),y(y),z(z){} bool operator>(const st &a)const{ return x>a.x; } }; ll dp[1000010][12]; int main(){ ll n,q,x,y,z=0,i,d=0,k=0,nk,sum=0,r=0; ll ans=2e9+10,sum2=0,rs=-1e9,cs=0,l=0,w=0,X; ll tmp2=0,flag=0,a=0,b=0,c=0,j=0,m=0,p,mon,rt,ct,h,N; int M,S,K,low,high,colo=0,T; cin>>N; dp[0][0]=1; rep(i,0,N){ rep(j,0,10){ rep(k,j,10){ (dp[i+1][k]+=dp[i][j])%=mod2; } } } rep(j,0,10)(sum+=dp[N][j])%=mod2; cout<