#include #include #include using namespace std; #include using namespace atcoder; using mint = modint998244353; using ll = long long; #define fix(x) fixed << setprecision(x) #define rep(i, n) for(int i = 0; i < n; ++i) #define all(x) (x).begin(),(x).end() templatebool chmin(T&a, const T&b){if(a>b){a=b;return 1;}return 0;} templatebool chmax(T&a, const T&b){if(a fac(MAX_N), finv(MAX_N), inv(MAX_N); void init(){ fac[0] = fac[1] = 1; finv[0] = finv[1] = 1; inv[1] = 1; for(int i=2;i> n; if(n&1){ cout << "0\n"; return 0; } n /= 2; vector dp(n+1,0); for(int i=2;i<=n;++i){ dp[i] = dp[i-1] + (i-1) * catalan(i-1); for(int j=1;j