#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char str[100000];
scanf("%s",&str);
int n3;
scanf("%d",&n3);
while(n3--)
{
char s1[2000];
scanf("%s",&s1);
if ( strcmp(str,s1) == 0)
{
printf("Y\n");
continue;
}
unsigned long long int l1 = strlen(s1),i;
unsigned long long int p1=0,p2=0,k1 =1,k4=1,vp=1;
for(i=0;i<l1;i++)
{
unsigned long long int k2 = *(s1+i);
p1 += k2 * k1;
k1 = (k1 * 31);
}
vp = k1/31;
unsigned long long int j;
for(j=0;j<l1;j++)
{
unsigned long long int k3 = *(str+j);
p2 += k3 * k4;
k4 = (k4 *31);
}
unsigned long long int mul=1;
long long int r1=0;
long long int ll1 = strlen(s1),ll2=strlen(str);
for(j=1;j<=ll2;j++)
{
if ( p2 == p1)
{
r1 = 1;
break;
}
long int w1 = *(str+j-1);
p2 -= w1;
p2 = p2/31;
long int lp = *(str+j+l1-1);
p2 += ((lp *vp));
}
if ( r1 == 0)
{
printf("N\n");
}
else
{
printf("Y\n");
}
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgoKaW50IG1haW4oKQp7CiAgICBjaGFyIHN0clsxMDAwMDBdOwogICAgc2NhbmYoIiVzIiwmc3RyKTsKICAgIGludCBuMzsKICAgIHNjYW5mKCIlZCIsJm4zKTsKICAgIHdoaWxlKG4zLS0pCiAgICB7CiAgICBjaGFyIHMxWzIwMDBdOwogICAgc2NhbmYoIiVzIiwmczEpOwogICAgaWYgKCBzdHJjbXAoc3RyLHMxKSA9PSAwKQogICAgewogICAgICAgIHByaW50ZigiWVxuIik7CiAgICAgICAgY29udGludWU7CiAgICB9CiAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGwxID0gc3RybGVuKHMxKSxpOwogICAgdW5zaWduZWQgbG9uZyBsb25nIGludCBwMT0wLHAyPTAsazEgPTEsazQ9MSx2cD0xOwogICAgZm9yKGk9MDtpPGwxO2krKykKICAgIHsKICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGsyID0gKihzMStpKTsKICAgICAgICBwMSArPSBrMiAqIGsxOwogICAgICAgIGsxID0gKGsxICogMzEpOwogICAgfQogICAgdnAgPSBrMS8zMTsKICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgajsKICAgIGZvcihqPTA7ajxsMTtqKyspCiAgICB7CiAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGludCBrMyA9ICooc3RyK2opOwogICAgICAgIHAyICs9IGszICogazQ7CiAgICAgICAgazQgPSAoazQgKjMxKTsKICAgIH0KICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbXVsPTE7CiAgICBsb25nIGxvbmcgaW50IHIxPTA7CiAgICBsb25nIGxvbmcgaW50IGxsMSA9IHN0cmxlbihzMSksbGwyPXN0cmxlbihzdHIpOwogICAgZm9yKGo9MTtqPD1sbDI7aisrKQogICAgewogICAgICAgIGlmICggcDIgPT0gcDEpCiAgICAgICAgewogICAgICAgICAgICByMSA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBsb25nIGludCB3MSA9ICooc3RyK2otMSk7CiAgICAgICAgcDIgLT0gdzE7ICAgICAKICAgICAgICBwMiA9IHAyLzMxOwogICAgICAgIGxvbmcgaW50IGxwID0gKihzdHIraitsMS0xKTsKICAgICAgICBwMiArPSAoKGxwICp2cCkpOwogfQogICAgaWYgKCByMSA9PSAwKQogICAgewogICAgICAgIHByaW50ZigiTlxuIik7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcHJpbnRmKCJZXG4iKTsKICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9CgoKCgo=