//知识点:递推分部积分(n次分部积分,得到最终公式),分数取模,快速幂,阶乘逆元
//处理技巧:刷表
//错因:原始式子推导方向错误,利用二项式定理推导成组合数取模的问题,不满足问题最大规模

include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int mod=998244353;
const int maxn=1e6+5;
int fac[maxn<<1];
void init()
{
fac[0]=1;
for(int i=1;i<=2maxn-5;++i)
fac[i]=1ll
fac[i-1]i%mod;
}
ll mypow(ll a,ll b)
{
ll ans=1;
while(b){
if(b&1)ans=ans
a%mod;
a=aa%mod;
b>>=1;
}
return ans;
}
int main()
{
init();
int n;
while(~scanf("%d",&n))
printf("%lld\n",1ll
fac[n]fac[n]%modmypow(fac[2*n+1],mod-2)%mod);
return 0;
}