#define MD 998244353 mapm1; m1[0]=1; ll@n; rep(n){ typeof(m1)m2; ll@a; Mint y; for(auto x=m1.rbegin();x!=m1.rend();++x){ m2[a|x->first]=y+=x->second; } m2[a]=y; m1=move(m2); } Mint z; for(auto x:m1){ z+=x.second; } wt(z);