#include <iostream>
#include <algorithm>
using namespace std;
pair<int, int> p[2503];
int women[501][501], men[501][501]; /// is women ke liye ye men kitna pe hai?
bool cmp(pair<int, int>& p1, pair<int, int>& p2){
//cout<<p1.first<<" "<<p1.second<<" "<<p2.first<<" "<<p2.second<<endl;
int x = women[p1.second][p1.first], y = men[p1.first][p1.second], x1 = women[p2.second][p2.first], y1 = men[p2.first][p2.second];
if(x > y) swap(x, y);
if(x1 > y1) swap(x1, y1);
if(y <= y1) return 1;
return 0;
}
void build(int n){
int cnt = 0;
for(int j = 1; j <= n; j++)
for(int k = 1; k <= n; k++)
p[cnt++] = make_pair(j, k);
}
int main(){
int t;
cin >> t;
while(t--){
int n;
cin >> n;
for(int j = 0; j < n; j++){
int ind;
cin >> ind;
for(int k = 1; k <= n; k++){
int pos;
cin >> pos;
women[ind][pos] = k;
}
}
for(int j = 0; j < n; j++){
int ind;
cin >> ind;
for(int k = 1; k <= n; k++){
int pos;
cin >> pos;
men[ind][pos] = k;
//if(k == n) cout << "here!\n";
}
}
//cout << "here!\n";
build(n);
cout<<"Builder working fine"<<endl;
sort(p, p+n*n, cmp);
cout<<"Sort working fine"<<endl;
int already1[501] = {0}, already2[501] = {0};
for(int j = 0; j < n*n; j++)
if(!already1[p[j].first] && !already2[p[j].second]){
already1[p[j].first] = already2[p[j].second] = 1;
cout << p[j].first << " " << p[j].second << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnBhaXI8aW50LCBpbnQ+IHBbMjUwM107CgppbnQgd29tZW5bNTAxXVs1MDFdLCBtZW5bNTAxXVs1MDFdOyAgICAgICAgIC8vLyBpcyB3b21lbiBrZSBsaXllIHllIG1lbiBraXRuYSBwZSBoYWk/Cgpib29sIGNtcChwYWlyPGludCwgaW50PiYgcDEsIHBhaXI8aW50LCBpbnQ+JiBwMil7CgkvL2NvdXQ8PHAxLmZpcnN0PDwiICI8PHAxLnNlY29uZDw8IiAiPDxwMi5maXJzdDw8IiAiPDxwMi5zZWNvbmQ8PGVuZGw7CiAgICBpbnQgeCA9IHdvbWVuW3AxLnNlY29uZF1bcDEuZmlyc3RdLCB5ID0gbWVuW3AxLmZpcnN0XVtwMS5zZWNvbmRdLCB4MSA9IHdvbWVuW3AyLnNlY29uZF1bcDIuZmlyc3RdLCB5MSA9IG1lbltwMi5maXJzdF1bcDIuc2Vjb25kXTsKICAgIGlmKHggPiB5KSBzd2FwKHgsIHkpOwogICAgaWYoeDEgPiB5MSkgc3dhcCh4MSwgeTEpOwogICAgaWYoeSA8PSB5MSkgcmV0dXJuIDE7CiAgICByZXR1cm4gMDsKfQoKdm9pZCBidWlsZChpbnQgbil7CiAgICBpbnQgY250ID0gMDsKICAgIGZvcihpbnQgaiA9IDE7IGogPD0gbjsgaisrKQogICAgICAgIGZvcihpbnQgayA9IDE7IGsgPD0gbjsgaysrKQogICAgICAgICAgICBwW2NudCsrXSA9IG1ha2VfcGFpcihqLCBrKTsKfQoKaW50IG1haW4oKXsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBuOyBqKyspewogICAgICAgICAgICBpbnQgaW5kOwogICAgICAgICAgICBjaW4gPj4gaW5kOwogICAgICAgICAgICBmb3IoaW50IGsgPSAxOyBrIDw9IG47IGsrKyl7CiAgICAgICAgICAgICAgICBpbnQgcG9zOwogICAgICAgICAgICAgICAgY2luID4+IHBvczsKICAgICAgICAgICAgICAgIHdvbWVuW2luZF1bcG9zXSA9IGs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBuOyBqKyspewogICAgICAgICAgICBpbnQgaW5kOwogICAgICAgICAgICBjaW4gPj4gaW5kOwogICAgICAgICAgICBmb3IoaW50IGsgPSAxOyBrIDw9IG47IGsrKyl7CiAgICAgICAgICAgICAgICBpbnQgcG9zOwogICAgICAgICAgICAgICAgY2luID4+IHBvczsKICAgICAgICAgICAgICAgIG1lbltpbmRdW3Bvc10gPSBrOwogICAgICAgICAgICAgICAgLy9pZihrID09IG4pIGNvdXQgPDwgImhlcmUhXG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vY291dCA8PCAiaGVyZSFcbiI7CiAgICAgICAgYnVpbGQobik7CiAgICAgICAgY291dDw8IkJ1aWxkZXIgd29ya2luZyBmaW5lIjw8ZW5kbDsKICAgICAgICBzb3J0KHAsIHArbipuLCBjbXApOwogICAgICAgIGNvdXQ8PCJTb3J0IHdvcmtpbmcgZmluZSI8PGVuZGw7CgogICAgICAgIGludCBhbHJlYWR5MVs1MDFdID0gezB9LCBhbHJlYWR5Mls1MDFdID0gezB9OwogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBuKm47IGorKykKICAgICAgICAgICAgaWYoIWFscmVhZHkxW3Bbal0uZmlyc3RdICYmICFhbHJlYWR5MltwW2pdLnNlY29uZF0pewogICAgICAgICAgICAgICAgYWxyZWFkeTFbcFtqXS5maXJzdF0gPSBhbHJlYWR5MltwW2pdLnNlY29uZF0gPSAxOwogICAgICAgICAgICAgICAgY291dCA8PCBwW2pdLmZpcnN0IDw8ICIgIiA8PCBwW2pdLnNlY29uZCA8PCBlbmRsOwogICAgICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=
Mgo0CjEgNCAzIDEgMgoyIDIgMSAzIDQKMyAxIDMgNCAyCjQgNCAzIDEgMgoxIDMgMiA0IDEKMiAyIDMgMSA0CjMgMyAxIDIgNAo0IDMgMiA0IDEKNwoxIDMgNCAyIDEgNiA3IDUKMiA2IDQgMiAzIDUgMSA3CjMgNiAzIDUgNyAyIDQgMQo0IDEgNiAzIDIgNCA3IDUKNSAxIDYgNSAzIDQgNyAyCjYgMSA3IDMgNCA1IDYgMgo3IDUgNiAyIDQgMyA3IDEKMSA0IDUgMyA3IDIgNiAxCjIgNSA2IDQgNyAzIDIgMQozIDEgNiA1IDQgMyA3IDIKNCAzIDUgNiA3IDIgNCAxCjUgMSA3IDYgNCAzIDUgMgo2IDYgMyA3IDUgMiA0IDEKNyAxIDcgNCAyIDYgNSAz
2
4
1 4 3 1 2
2 2 1 3 4
3 1 3 4 2
4 4 3 1 2
1 3 2 4 1
2 2 3 1 4
3 3 1 2 4
4 3 2 4 1
7
1 3 4 2 1 6 7 5
2 6 4 2 3 5 1 7
3 6 3 5 7 2 4 1
4 1 6 3 2 4 7 5
5 1 6 5 3 4 7 2
6 1 7 3 4 5 6 2
7 5 6 2 4 3 7 1
1 4 5 3 7 2 6 1
2 5 6 4 7 3 2 1
3 1 6 5 4 3 7 2
4 3 5 6 7 2 4 1
5 1 7 6 4 3 5 2
6 6 3 7 5 2 4 1
7 1 7 4 2 6 5 3