/**************************************************
    WhatTheFua
    Anan Schuett
    arnan_s@msn.com
**************************************************/

#define BK back()
#define BL for(int K = 1; K <= T; K++)
#define F first
#define INF 2147483647LL
#define LNF 8000000000000000000LL
#define P107 1000000007LL
#define P109 1000000009LL
#define PB push_back
#define PF push_front
#define I insert
#define E erase
#define S second
#define SZ size()
#define IT iterator
#define db double
#define ll long long int
#define mp make_pair

#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;

struct file
{
    set<int> A;
};

file inp[310];
vector<int> Q;

int n;

int all()
{
    int res = 0;

    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < Q.size(); j++)
        {
            if(inp[i].A.find(Q[j]) == inp[i].A.end())
            {
                goto out;
            }
        }

        res++;

        out:;
    }

    return res;
}

int any()
{
    int res = 0;

    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < Q.size(); j++)
        {
            if(inp[i].A.find(Q[j]) != inp[i].A.end())
            {
                res++;
                break;
            }
        }
    }

    return res;
}

int main()
{
    int m,x,q,t,i,j,k,res;

    cin >> n;

    for(i = 0; i < n; i++)
    {
        cin >> m;

        for(j = 0; j < m; j++)
        {
            cin >> x;
            inp[i].A.I(x);
        }
    }

    cin >> q;

    for(i = 0; i < q; i++)
    {
        cin >> t >> m;

        Q.clear();

        for(j = 0; j < m; j++)
        {
            cin >> x;
            Q.PB(x);
        }

        if(t == 1)
        {
            cout << all() << endl;
        } else if(t == 2) {
            cout << any() << endl;
        } else {
            cout << any() - all() << endl;
        }
    }
}