N = int(raw_input())

files = []
for i in xrange(N):
	files.append(map(int, raw_input().split())[1:])

Q = int(raw_input())
for q in xrange(Q):
	query = map(int, raw_input().split())
	T, K = query[0], query[1]
	A = query[2:]

	sol = 0
	if T == 1:
		for i in xrange(N):
			if len(set(A).intersection(files[i])) == K:
				sol += 1

	elif T == 2:
		for i in xrange(N):
			if len(set(A).intersection(files[i])) >= 1:
				sol += 1

	elif T == 3:
		for i in xrange(N):
			l = len(set(A).intersection(files[i]))
			if l >= 1 and l < K:
				sol += 1

	print sol