#include <bits/stdc++.h>
using namespace std;
#define pow asdfasdf
#define FOR(i, l, r, k) for(int i = l; i<=r; i+=k)
#define FOD(i, r, l, k) for(int i = r; i>=l; i-=k)
#define foru(i, l, r) for(int i = l; i<=r; i++)
#define fore(i, r, l) for(int i = r; i>=l; i--)
#define R0F(i, a) ROF(i, 0, a)
#define rep(a) F0R(_, a)
#define each(a, x) for (auto &a : x)
#define iii pair<int, pair<int, int> >
#define pll pair<ll, ll>
#define ii pair<int, int>
#define fi first
#define se second
#define all(v) v.begin(), v.end()
#define pb push_back
#define __lcm(a, b) int((a*b)/__gcd(a, b))
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define bit(mask, i) ((mask>>i)&1)
#define cb(mask) __builtin_popcount(mask)
#define turn(mask, i) (mask ^ (1<<i))
#define int long long
typedef double db;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e5 + 5;
const int maxk = 35;
const int mod = 1337377;
const int inf = 1e9;
const int base = 311;
int n, m;
struct node
{
node *a[2];
int pre;
int suf;
int d;
node()
{
d = 0;
pre = 0;
suf = 0;
FOR(i, 0, 1, 1)
{
a[i] = NULL;
}
}
};
node *root;
void dfs(node *p)
{
FOR(i, 0, 1, 1)
{
if(p -> a[i] != NULL)
{
p -> a[i] -> suf += p -> suf;
dfs(p -> a[i]);
p -> pre += p -> a[i] -> pre;
}
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
root = new node();
cin >> n >> m;
FOR(i,1, n, 1)
{
node *p = root;
int k;
cin >> k;
FOR(j, 1, k, 1)
{
int x;
cin >> x;
if(p -> a[x] == NULL)p -> a[x] = new node();
p = p -> a[x];
}
p -> d ++;
p -> pre ++;
p -> suf ++;
}
dfs(root);
FOR(i, 1, m, 1)
{
bool kt = 1;
node *p = root;
int k;
cin >> k;
cout << p << "\n";
FOR(j, 1, k, 1)
{
int x;
cin >> x;
if(p -> a[x] == NULL)
{
cout << p -> suf << "\n";
kt = 0;
break;
}
p = p -> a[x];
}
if(kt)
{
cout << (p -> pre) + (p -> suf) - (p -> d) << "\n";
}
}
cout << root;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHBvdyBhc2RmYXNkZgoKI2RlZmluZSBGT1IoaSwgbCwgciwgaykgZm9yKGludCBpID0gbDsgaTw9cjsgaSs9aykKI2RlZmluZSBGT0QoaSwgciwgbCwgaykgZm9yKGludCBpID0gcjsgaT49bDsgaS09aykKI2RlZmluZSBmb3J1KGksIGwsIHIpIGZvcihpbnQgaSA9IGw7IGk8PXI7IGkrKykKI2RlZmluZSBmb3JlKGksIHIsIGwpIGZvcihpbnQgaSA9IHI7IGk+PWw7IGktLSkKI2RlZmluZSBSMEYoaSwgYSkgUk9GKGksIDAsIGEpCiNkZWZpbmUgcmVwKGEpIEYwUihfLCBhKQojZGVmaW5lIGVhY2goYSwgeCkgZm9yIChhdXRvICZhIDogeCkKCiNkZWZpbmUgaWlpIHBhaXI8aW50LCBwYWlyPGludCwgaW50PiA+CiNkZWZpbmUgcGxsIHBhaXI8bGwsIGxsPgojZGVmaW5lIGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCgojZGVmaW5lIF9fbGNtKGEsIGIpIGludCgoYSpiKS9fX2djZChhLCBiKSkKI2RlZmluZSBZRVMgY291dCA8PCAiWUVTXG4iCiNkZWZpbmUgTk8gY291dCA8PCAiTk9cbiIKCiNkZWZpbmUgYml0KG1hc2ssIGkpICgobWFzaz4+aSkmMSkKI2RlZmluZSBjYihtYXNrKSBfX2J1aWx0aW5fcG9wY291bnQobWFzaykKI2RlZmluZSB0dXJuKG1hc2ssIGkpIChtYXNrIF4gKDE8PGkpKQoKI2RlZmluZSBpbnQgbG9uZyBsb25nCgp0eXBlZGVmIGRvdWJsZSBkYjsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKCmNvbnN0IGludCBtYXhuID0gMWU1ICsgNTsKY29uc3QgaW50IG1heGsgPSAzNTsKY29uc3QgaW50IG1vZCA9IDEzMzczNzc7CmNvbnN0IGludCBpbmYgPSAxZTk7CmNvbnN0IGludCBiYXNlID0gMzExOwoKaW50IG4sIG07CgpzdHJ1Y3Qgbm9kZQp7CiAgICBub2RlICphWzJdOwogICAgaW50IHByZTsKICAgIGludCBzdWY7CiAgICBpbnQgZDsKICAgIG5vZGUoKQogICAgewogICAgICAgIGQgPSAwOwogICAgICAgIHByZSA9IDA7CiAgICAgICAgc3VmID0gMDsKICAgICAgICBGT1IoaSwgMCwgMSwgMSkKICAgICAgICB7CiAgICAgICAgICAgIGFbaV0gPSBOVUxMOwogICAgICAgIH0KICAgIH0KfTsKCm5vZGUgKnJvb3Q7Cgp2b2lkIGRmcyhub2RlICpwKQp7CiAgICBGT1IoaSwgMCwgMSwgMSkKICAgIHsKICAgICAgICBpZihwIC0+IGFbaV0gIT0gTlVMTCkKICAgICAgICB7CiAgICAgICAgICAgIHAgLT4gYVtpXSAtPiBzdWYgKz0gcCAtPiBzdWY7CiAgICAgICAgICAgIGRmcyhwIC0+IGFbaV0pOwogICAgICAgICAgICBwIC0+IHByZSArPSBwIC0+IGFbaV0gLT4gcHJlOwogICAgICAgIH0KICAgIH0KfQoKc2lnbmVkIG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApO2NvdXQudGllKDApOwogICAgcm9vdCA9IG5ldyBub2RlKCk7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgRk9SKGksMSwgbiwgMSkKICAgIHsKICAgICAgICBub2RlICpwID0gcm9vdDsKICAgICAgICBpbnQgazsKICAgICAgICBjaW4gPj4gazsKICAgICAgICBGT1IoaiwgMSwgaywgMSkKICAgICAgICB7CiAgICAgICAgICAgIGludCB4OwogICAgICAgICAgICBjaW4gPj4geDsKICAgICAgICAgICAgaWYocCAtPiBhW3hdID09IE5VTEwpcCAtPiBhW3hdID0gbmV3IG5vZGUoKTsKICAgICAgICAgICAgcCA9IHAgLT4gYVt4XTsKICAgICAgICB9CiAgICAgICAgcCAtPiBkICsrOwogICAgICAgIHAgLT4gcHJlICsrOwogICAgICAgIHAgLT4gc3VmICsrOwogICAgfQogICAgZGZzKHJvb3QpOwogICAgRk9SKGksIDEsIG0sIDEpCiAgICB7CiAgICAgICAgYm9vbCBrdCA9IDE7CiAgICAgICAgbm9kZSAqcCA9IHJvb3Q7CiAgICAgICAgaW50IGs7CiAgICAgICAgY2luID4+IGs7CiAgICAgICAgY291dCA8PCBwIDw8ICJcbiI7CiAgICAgICAgRk9SKGosIDEsIGssIDEpCiAgICAgICAgewogICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgY2luID4+IHg7CiAgICAgICAgICAgIGlmKHAgLT4gYVt4XSA9PSBOVUxMKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHAgLT4gc3VmIDw8ICJcbiI7CiAgICAgICAgICAgICAgICBrdCA9IDA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBwID0gcCAtPiBhW3hdOwogICAgICAgIH0KICAgICAgICBpZihrdCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgKHAgLT4gcHJlKSArIChwIC0+IHN1ZikgLSAocCAtPiBkKSA8PCAiXG4iOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgcm9vdDsKICAgIHJldHVybiAwOwp9Cg==