#include #include using namespace std; typedef unsigned int ui; int t, n, m, i, j; ui data[1001], a, b, c, d; set mset; int main() { scanf("%d", &t); for (i = 1; i <= t; ++i) { scanf("%d%d", &n, &m); printf("Case #%d:\n", i); for (j = 0; j < n; ++j) { scanf("%d.%d.%d.%d", &a, &b, &c, &d); data[j] = (a<<24) | (b<<16) | (c<<8) | d; } while (m--) { scanf("%d.%d.%d.%d", &a, &b, &c, &d); ui r = (a<<24) | (b<<16) | (c<<8) | d; mset.clear(); for (j = 0; j < n; ++j) mset.insert(r&data[j]); printf("%d\n", mset.size()); } } }