#include using namespace std; using ll=long long; #include using mint=atcoder::modint998244353; struct Combination{ int n; vector _fact,_factinv; Combination(int n):n(n){ _fact.resize(n+1,1);_factinv.resize(n+1,1); for(int i=0;i=0;i--)_factinv[i]=_factinv[i+1]*(i+1); } mint fact(int x){ return _fact[x]; } mint factinv(int x){ return _factinv[x]; } mint C(int x,int y){ assert(0<=x&&x<=n&&0<=y); if(x>n>>k; vector> s(n); for(int i=0;i>l>>x; for(int j=0;j>b; s[b-1].push_back(x); } } mint ans=0; Combination comb(n+k); mint c=((mint)2).inv(); for(int i=0;i>j&1)cnt++; if(cnt>0){ ans+=(1<