#include<iostream>
#include <cctype>//isalpha
#include<string>
#include<algorithm>
#include<cmath>
#include<cstdio>//sscanf/sprintf/
using namespace std;
int main()
{
string s1,s2,s3,q,a,b,c,d,e,f;
int t ;
cin >> s1;
cin >> s2;
cin >> s3;
for (int i = 0; i < s1.size(); ++i)
{
if (!isalpha(s1[i]))
{
s1.erase(i, 1);
}
if (isupper(s1[i]))
{
s1[i] += 32;
}
if (!isalpha(s1[i]))
{
--i;
}
}
for (int i = 0; i < s2.size(); ++i)
{
if (!isalpha(s2[i]))
{
s2.erase(i, 1);
}
if (isupper(s2[i]))
{
s2[i] += 32;
}
if (!isalpha(s2[i]))
{
--i;
}
}
for (int i = 0; i < s3.size(); ++i)
{
if (!isalpha(s3[i]))
{
s3.erase(i, 1);
}//isupper
if (isupper(s3[i]))
{
s3[i] += 32;
}
if (!isalpha(s3[i]))
{
--i;
}
}
a = s1 + s2 + s3;
b = s1 + s3 + s2;
c = s2 + s1 + s3;
d = s2 + s3 + s1;
e = s3 + s1 + s2;
f = s3 + s2 + s1;
cin >> t;
while (t--)
{
cin >> q;
for (int i = 0; i < q.size(); ++i)//在循环中删除字符回将下一位直接提到这一位
{
if (!isalpha(q[i]))
{
q.erase(i, 1);
}
if (isupper(q[i]))
{
q[i] += 32;
}
if (!isalpha(q[i]))
{
--i;
}
}
//cout << q << endl;
if (q == a || q == b || q == c || q == d || q == e || q == f)
{
cout << "ACC"<<endl;
}
else
{
cout << "WA"<<endl;
}
}
return 0;
}