def read_matrix():
nrows, ncols = map(int, raw_input().split())
matrix = [raw_input() for _ in xrange(nrows)]
assert all(len(row) == ncols for row in matrix)
return matrix
def count_pattern(pattern, text):
"""A naive O(N**2 * M**2) algorithm."""
nrows, ncols = len(pattern), len(pattern[0])
return sum(pattern == [row[j:j+ncols] for row in text[i:i+nrows]]
for i in xrange(len(text) - nrows + 1)
for j in xrange(len(text[i]) - ncols + 1))
for _ in xrange(int(raw_input())):
print count_pattern(read_matrix(), read_matrix())
ZGVmIHJlYWRfbWF0cml4KCk6CiAgICBucm93cywgbmNvbHMgPSBtYXAoaW50LCByYXdfaW5wdXQoKS5zcGxpdCgpKQogICAgbWF0cml4ID0gW3Jhd19pbnB1dCgpIGZvciBfIGluIHhyYW5nZShucm93cyldCiAgICBhc3NlcnQgYWxsKGxlbihyb3cpID09IG5jb2xzIGZvciByb3cgaW4gbWF0cml4KQogICAgcmV0dXJuIG1hdHJpeAoKZGVmIGNvdW50X3BhdHRlcm4ocGF0dGVybiwgdGV4dCk6CiAgICAiIiJBIG5haXZlIE8oTioqMiAqIE0qKjIpIGFsZ29yaXRobS4iIiIKICAgIG5yb3dzLCBuY29scyA9IGxlbihwYXR0ZXJuKSwgbGVuKHBhdHRlcm5bMF0pCiAgICByZXR1cm4gc3VtKHBhdHRlcm4gPT0gW3Jvd1tqOmorbmNvbHNdIGZvciByb3cgaW4gdGV4dFtpOmkrbnJvd3NdXQogICAgICAgICAgICAgICBmb3IgaSBpbiB4cmFuZ2UobGVuKHRleHQpIC0gbnJvd3MgKyAxKQogICAgICAgICAgICAgICBmb3IgaiBpbiB4cmFuZ2UobGVuKHRleHRbaV0pIC0gbmNvbHMgKyAxKSkKCmZvciBfIGluIHhyYW5nZShpbnQocmF3X2lucHV0KCkpKToKICAgIHByaW50IGNvdW50X3BhdHRlcm4ocmVhZF9tYXRyaXgoKSwgcmVhZF9tYXRyaXgoKSkK