#include using namespace std; #define rep(i, a, n) for (int i=(a); i < (n); i++) #define per(i, a, n) for (int i=(n)-1; i >= (a); i--) #define ll long long ll N, K; ll res; ll MOD; vector > pod; vector > v; vector > solve(ll a){ vector >puvodni; vector > novy; puvodni.resize(N+1); novy.resize(N+1); ll j,k,l; for(j=0;j<=N;j++){ puvodni[j]={0,0,0}; novy[j]={0,0,0}; } puvodni[0]={1,0,0}; puvodni[1]={0,0,1}; if(pod[a].size()==0) return puvodni; for(l=0;l > sousede; ll x, y; sousede.resize(N); ll flag[N]; pod.clear(); pod.resize(N); int i; for(i=0;i fronta; fronta.push(0); while(!fronta.empty()){ x=fronta.front(); fronta.pop(); flag[x]=1; for(i=0;i > w; w=solve(0); printf("%lld\n", (w[K][0]+w[K][1])%MOD); } return 0; }