/// UVA 10172 The Lonesome Cargo Distributor
#include <bits/stdc++.h>
#define X first
#define Y second
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair <int,int> ii;
typedef pair <int,ii> i_ii;
typedef vector <int> vi;
typedef vector <ii> vii;
const int maxn=102;
const ll MOD=1000000007;
int T,N,S,Q,Time,cur_station;
int main()
{
// freopen("nhap.inp", "r", stdin);
cin >> T;
while(T--)
{
cin >> N >> S >> Q;
stack<int> st;
queue<int> qu[102];
cur_station = Time = 0;
for (int i = 0; i < N; i++)
{
int nq,x;
cin >> nq;
for (int j = 0; j < nq; j++)
{
cin >> x;
qu[i].push(x - 1);
}
}
while (1)
{
while (!st.empty() && (st.top() == cur_station || qu[cur_station].size() < Q))
{
if (st.top() != cur_station)
qu[cur_station].push(st.top());
st.pop();
Time++;
}
while (st.size() < S && !qu[cur_station].empty())
{
st.push(qu[cur_station].front());
qu[cur_station].pop();
Time++;
}
bool ok = st.empty();
for (int i = 0; i < N; i++)
ok &= qu[i].empty();
if (ok) break;
cur_station = (cur_station + 1) % N;
Time += 2;
}
cout << Time << endl;
}
return 0;
}
Ly8vIFVWQSAgMTAxNzIJVGhlIExvbmVzb21lIENhcmdvIERpc3RyaWJ1dG9yCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIFggZmlyc3QKI2RlZmluZSBZIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBwYWlyIDxpbnQsaW50PiBpaTsKdHlwZWRlZiBwYWlyIDxpbnQsaWk+IGlfaWk7CnR5cGVkZWYgdmVjdG9yIDxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvciA8aWk+IHZpaTsKCmNvbnN0IGludCBtYXhuPTEwMjsKY29uc3QgbGwgTU9EPTEwMDAwMDAwMDc7CgppbnQgVCxOLFMsUSxUaW1lLGN1cl9zdGF0aW9uOwoKaW50IG1haW4oKQp7Ci8vICAgIGZyZW9wZW4oIm5oYXAuaW5wIiwgInIiLCBzdGRpbik7CiAgICBjaW4gPj4gVDsKCgl3aGlsZShULS0pCiAgICB7CiAgICAgICAgY2luID4+IE4gPj4gUyA+PiBROwoKCQlzdGFjazxpbnQ+IHN0OwoJCXF1ZXVlPGludD4gcXVbMTAyXTsKICAgICAgICBjdXJfc3RhdGlvbiA9IFRpbWUgPSAwOwoKCQlmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykKICAgICAgICB7CgkJCWludCBucSx4OwoJCQljaW4gPj4gbnE7CgkJCWZvciAoaW50IGogPSAwOyBqIDwgbnE7IGorKykKCQkJewoJCQkJY2luID4+IHg7CgkJCQlxdVtpXS5wdXNoKHggLSAxKTsKCQkJfQoJCX0KCgkJd2hpbGUgKDEpCiAgICAgICAgewoJCQl3aGlsZSAoIXN0LmVtcHR5KCkgJiYgKHN0LnRvcCgpID09IGN1cl9zdGF0aW9uIHx8IHF1W2N1cl9zdGF0aW9uXS5zaXplKCkgPCBRKSkKCQkJewoJCQkJaWYgKHN0LnRvcCgpICE9IGN1cl9zdGF0aW9uKQoJCQkJCXF1W2N1cl9zdGF0aW9uXS5wdXNoKHN0LnRvcCgpKTsKCQkJCXN0LnBvcCgpOwoJCQkJVGltZSsrOwoJCQl9CgoJCQl3aGlsZSAoc3Quc2l6ZSgpIDwgUyAmJiAhcXVbY3VyX3N0YXRpb25dLmVtcHR5KCkpCiAgICAgICAgICAgIHsKCQkJCXN0LnB1c2gocXVbY3VyX3N0YXRpb25dLmZyb250KCkpOwoJCQkJcXVbY3VyX3N0YXRpb25dLnBvcCgpOwoJCQkJVGltZSsrOwoJCQl9CgoJCQlib29sIG9rID0gc3QuZW1wdHkoKTsKCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspCgkJCQlvayAmPSBxdVtpXS5lbXB0eSgpOwoKCQkJaWYgKG9rKSBicmVhazsKCgkJCWN1cl9zdGF0aW9uID0gKGN1cl9zdGF0aW9uICsgMSkgJSBOOwoJCQlUaW1lICs9IDI7CgkJfQoKCQljb3V0IDw8IFRpbWUgPDwgZW5kbDsKCX0KICAgIHJldHVybiAwOwp9Cg==