#include #include #include #include #include #include #include #include #include #include #include #define maxn 1005 #define MAXN 100005 #define mod 1000000000 #define INF 0x3f3f3f3f #define pi acos(-1.0) #define eps 1e-6 typedef long long ll; using namespace std; int n,m,ans,cnt,tot,flag; char s[maxn],res[10005][105]; string S,cur,now; struct Node { int len,id; char endc; string s; } tt; vector vn[26]; int vis[1005]; bool isok(int pos,int i) { int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0; } void solve() { int i,j,t; vectorvs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i