#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i = 0;i<((int)(n));i++) #define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++) #define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--) #define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--) typedef long long ll; typedef pair mp; ll mod = 1e9+7; ll inf = 1e18; /* AC 別解(本質は同じ) 売り手と買い手を対応:N要素→N要素の全単射の個数:N! 2N人の並び替え:(2N)! 売り手ー買い手、買い手ー売り手の2つの順番があるので、2^Nで割る */ int main(void){ ll n,ans,a=1,b=1,c=1; cin>>n; reg(i,1,n){ a = (a*i)%mod; } reg(i,1,2*n){ if(i%2==0){ b = (b*i/2)%mod; }else{ b = (b*i)%mod; } } cout<<(a*b)%mod<