#include using namespace std; using ll =long long; #define all(v) v.begin(),v.end() #define rep(i,a,b) for(int i=a;i=b;i--) ll mod=998244353; int main() { ll N;cin>>N; vector> vec(N+1,vector (0)); for(ll i=0;i>k; for(ll j=0;j>c;c--; vec[i].push_back(c); } } vector> dp(N+1,vector (1<<12)); dp[N][0]=1; for(ll i=N-1;i>=0;i--) { for(ll j=0;j<(1<<12);j++) { dp[i][j]+=dp[i+1][j]; ll k=0; for(auto x:vec[i]) { k|=(1<<(x)); } dp[i][j]+=dp[i+1][j&k]; dp[i][j]%=mod; } } cout<