第二题这样的,刚开始看错题目了耽误了好多时间!/(ㄒoㄒ)/~~
#include<iostream>
#include<stdio.h>
#include<string>
#include<map>
using namespace std;

map<string, int>pp;
int n,m;

void work (string s)
{
    bool p=0;
    int now;
    if (s[0]=='a') return ;
    for (int i=5;i<s.size();i++)
        if (s[i]=='/')
        {
            p=1;
            now=i;
            break;
        }
    string ss[5];
    string temp="";
    int count=1;
    int last;
    if (!p)
    {
    for (int i=5;i<s.size();i++)
    {
        if (s[i]!='.')
            temp+=s[i];
        if (s[i]=='.')
        {
            ss[count]=temp;
            temp="";
            count++;
            last=i;
        }
    }
    ss[4]="";
    for (int i=last+1;i<s.size();i++)
        ss[4]+=s[i];
    }
    else
    {
    for (int i=5;i<s.size();i++)
    {
        if (s[i]!='.')
            temp+=s[i];
        if (s[i]=='.')
        {
            ss[count]=temp;
            temp="";
            count++;
            last=i;
        }
    }
    ss[4]="";
    for (int i=last+1;i<now;i++)
        ss[4]+=s[i];
    }
    /*cout<<s<<endl;
    cout<<ss[1]<<" ";
    cout<<ss[2]<<" ";
    cout<<ss[3]<<" ";
    cout<<ss[4]<<" "<<endl;*/
    int a[9],sz,x;
    sz=0;
    x=0;
    for (int i=0;i<ss[1].size();i++)
        x=x*10+(ss[1][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[2].size();i++)
        x=x*10+(ss[2][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[3].size();i++)
        x=x*10+(ss[3][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[4].size();i++)
        x=x*10+(ss[4][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    //cout<<temp<<endl;
    //cout<<temp.size()<<endl;
    string ans="";
    for (int i=ss[4].size();i<temp.size();i++)
        ans+=temp[i];
    //cout<<ans<<endl;
    //a[ans]=0;
    string t="";
    for (int i=0;i<=19;i++)
        t+=ans[i];
    pp[t]=1;
    //cout<<ans<<endl;
    //cout<<t<<endl;
}

void calc (string s)
{
    bool p=0;
    int now;
    if (s[0]=='a') return ;
    for (int i=0;i<s.size();i++)
        if (s[i]=='/')
        {
            p=1;
            now=i;
            break;
        }
    string ss[5];
    string temp="";
    int count=1;
    int last;
    if (!p)
    {
    for (int i=0;i<s.size();i++)
    {
        if (s[i]!='.')
            temp+=s[i];
        if (s[i]=='.')
        {
            ss[count]=temp;
            temp="";
            count++;
            last=i;
        }
    }
    ss[4]="";
    for (int i=last+1;i<s.size();i++)
        ss[4]+=s[i];
    }
    else
    {
    for (int i=0;i<s.size();i++)
    {
        if (s[i]!='.')
            temp+=s[i];
        if (s[i]=='.')
        {
            ss[count]=temp;
            temp="";
            count++;
            last=i;
        }
    }
    ss[4]="";
    for (int i=last+1;i<now;i++)
        ss[4]+=s[i];
    }
    /*cout<<s<<endl;
    cout<<ss[1]<<" ";
    cout<<ss[2]<<" ";
    cout<<ss[3]<<" ";
    cout<<ss[4]<<" "<<endl;*/
    int a[9],sz,x;
    sz=0;
    x=0;
    for (int i=0;i<ss[1].size();i++)
        x=x*10+(ss[1][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[2].size();i++)
        x=x*10+(ss[2][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[3].size();i++)
        x=x*10+(ss[3][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    sz=0;
    x=0;
    for (int i=0;i<ss[4].size();i++)
        x=x*10+(ss[4][i]-'0');
    while (x)
    {
        a[++sz]=x%2;
        x=x/2;
    }
    if (sz<8)
    {
        for (int i=1;i<=8-sz;i++)
            temp+="0";
    }
    for (int i=sz;i>=1;i--)
        temp+=char(a[i]+'0');
    //cout<<temp<<endl;
    //cout<<temp.size()<<endl;
    string ans="";
    for (int i=ss[4].size();i<temp.size();i++)
        ans+=temp[i];
    //cout<<ans<<endl;
    //a[ans]=0;
    string t="";
    for (int i=0;i<=19;i++)
        t+=ans[i];
    //cout<<t<<endl;
    if (pp[t]) cout<<"NO"<<endl;
    else cout<<"YES"<<endl;
}

void doing ()
{
    cin>>n>>m;
    getchar();
    string s;
    for (int i=1;i<=n;i++)
    {
        getline (cin,s);
        work (s);
    }
    //cout<<"!!!!!"<<pp["00000001000000010000"];
    for (int i=1;i<=m;i++)
    {
        cin>>s;
        calc (s);
    }
}

int main ()
{
    doing ();
    return 0;
}