#include #include #include #include #include #include #include #include using namespace std; typedef long long LL; int T,a,b,c,d,ans; LL dq,now; LL f[2000]; int n,m; map mp; int main() { scanf("%d",&T); for (int z=1;z<=T;++z) { printf("Case #%d:\n",z); scanf("%d%d",&n,&m); for (int i=1;i<=n;++i) { scanf("%d.%d.%d.%d",&a,&b,&c,&d); f[i]=a; f[i]=f[i]*256+b; f[i]=f[i]*256+c; f[i]=f[i]*256+d; } for (int i=1;i<=m;++i) { scanf("%d.%d.%d.%d",&a,&b,&c,&d); dq=a; dq=dq*256+b; dq=dq*256+c; dq=dq*256+d; mp.clear(); ans=0; for (int j=1;j<=n;++j) { now=dq&f[j]; if (mp.count(now)==0) { mp[now]=1; ans++; } } printf("%d\n",ans); } } return 0; }