#include<iostream>
int main()
{
int t;
cin>>t;
while(t--)
{
int n,m;
bool a[MAX][MAX],b[MAX][MAX];
int c[MAX],d[MAX];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>c[i]>>d[i];
}
for(int i=1;i<=m;i++)
{
int g,h;
cin>>g>>h;
a[g][h]=1;
}
for(int i=1;i<=n;i++)
{
int moy=c[i];
int ban=d[i];
for(int j=1;j<=50;j++)
{
if(a[ban][j])
{
b[moy][j]=1;
}
}
}
for(int i=1;i<=50;i++)
{
for(int j=1;j<=50;j++)
if(b[i][j])
cout<<i<<" "<<j;
}
cout<<endl;
}
return 0;
}
#include<string.h>
#define MAX 55
using namespace std;int main()
{
int t;
cin>>t;
while(t--)
{
int n,m;
bool a[MAX][MAX],b[MAX][MAX];
int c[MAX],d[MAX];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>c[i]>>d[i];
}
for(int i=1;i<=m;i++)
{
int g,h;
cin>>g>>h;
a[g][h]=1;
}
for(int i=1;i<=n;i++)
{
int moy=c[i];
int ban=d[i];
for(int j=1;j<=50;j++)
{
if(a[ban][j])
{
b[moy][j]=1;
}
}
}
for(int i=1;i<=50;i++)
{
for(int j=1;j<=50;j++)
if(b[i][j])
cout<<i<<" "<<j;
}
cout<<endl;
}
return 0;
}