#include #include #include #include #include #include #include #include #include #include #include #include #include #define NMAX 1030 #define MOD 666013 #define INF 0x3f3f3f3f #define pb push_back using namespace std; typedef pair pii; //ifstream fin("sushi.in"); //ofstream fout("sushi.out"); map mp; vector lista; string s; int fr[300],n,m; int notpossible[300][300]; int memo(int pos, int last); int main() { int i; char x,y; cin>>s; n=s.size(); for(i=0;i1) { cout<<0; return 0; } cin>>m; for(i=0;i>x>>y; notpossible[x-'a'][y-'a']=notpossible[y-'a'][x-'a']=1; } cout<1) { if(!(n&1) && pos+1==n/2 && notpossible[i][i]) continue; fr[i]-=2; res+=memo(pos+1,i); if(res>=MOD) res%=MOD; fr[i]+=2; } } return mp[curent]=res; }