#include <bits/stdc++.h>
using namespace std;
int t, n, k, q, ans[101][20001], len[10001];
vector<int> s[10001];
int main(){
cin >> t;
for(int i=1;i<=t;i++){
memset(ans, -1, sizeof(ans));
ans[0][1] = 0;
cin >> n >> k >> q;
for(int i=1;i<=n;i++){
cin >> len[i];
s[i].clear();
for(int j=1;j<=len[i];j++){
int num;
cin >> num;
s[i].push_back(num);
}
}
for(int r=1;r<=100;r++){
for(int i=1;i<=n;i++){
int start = -1;
for(int j=0;j<len[i];j++){
if(j-start < k && start != -1){
if(ans[r][s[i][j]] == -1)ans[r][s[i][j]] = i;
else ans[r][s[i][j]] = 0;
}
if(ans[r-1][s[i][j]] != -1 && ans[r-1][s[i][j]] != i)start = j;
}
}
}
for(int i=1;i<=q;i++){
int r, c;
cin >> r >> c;
if(ans[r][c] == -1)cout << 0 << endl;
else cout << 1 << endl;
}
}
return 0;
}