#include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define FOR(i,j,k) for(int i =j; i<=k ;i++) #define ll long long const int maxn = 1000010; const ll mod = 1000000007; struct node { int a,b,c,d; friend bool operator <(const node &a, const node &b) { ll n = (ll)a.a *1000000000 + (ll)a.b *1000000 + (ll)a.c * 1000+(ll)a.d; ll m = (ll)b.a *1000000000 + (ll)b.b *1000000 + (ll)b.c * 1000+(ll)b.d; return ns; int main() { int T; scanf("%d" ,&T); FOR(z ,1,T) { int n,m; scanf("%d%d" ,&n ,&m); FOR(i,1,n) scanf("%d.%d.%d.%d" , &nd[i].a, &nd[i].b,&nd[i].c,&nd[i].d); printf("Case #%d:\n",z); FOR(i, 1, m) { s.clear(); node tt; scanf("%d.%d.%d.%d" , &tt.a, &tt.b,&tt.c,&tt.d); FOR(j, 1, n) { node t = tt & nd[j]; if(s.find(t) == s.end()) s.insert(t); } printf("%d\n",s.size()); } } return 0; }