#include #include #include #include #include #include #include using namespace std; const int maxn=5e4+5; const int maxm=1e5+5; int n,d,m,p[10],x[maxm],y[maxm]; char S[maxn],a[maxm],b[maxm]; vector G[maxn*2]; int id[maxn][70]; int dfn[maxn*2],lowlink[maxn*2],sccno[maxn*2],dfs_cnt,scc_cnt; stack stk; void dfs(int u) { dfn[u]=lowlink[u]=++dfs_cnt; stk.push(u); for(int i=0;i-1) printf("id[%d][%c]=%d\n",i,c,id[i][c]); // for(int c:{0,1}) if(id[i][c]>-1) printf("bid[%d][%d]=%c\n",i,c,id[i][c]); // } for(int i=0;isccno[i*2+1]]); #ifdef local // puts(""); #endif exit(0); } int main() { #ifdef local freopen("pro.in","r",stdin); #endif scanf("%d%d%s%d",&n,&d,S,&m); for(int i=0;i