#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #pragma comment(linker, "/STACK:102400000,102400000") #define maxn 100010 #define MOD 1000000007 #define mem(a , b) memset(a , b , sizeof(a)) #define LL long long #define INF 100000000 int a , b , c; mapA , B , C; map::iterator it; int main() { int t ; scanf("%d" , &t); while(t--) { A.clear(); B.clear(); C.clear(); scanf("%d %d %d" , &a , &b , &c); char str[3]; int tmp ; for(int i = 0 ; i < a ; i ++) { scanf("%s" , str); scanf("%d" , &tmp); A[str[0]] = tmp; } for(int i = 0 ; i < b ; i ++) { scanf("%s" , str); scanf("%d" , &tmp); B[str[0]] = tmp; } for(int i = 0 ; i < c ; i ++) { scanf("%s" , str); scanf("%d" , &tmp); C[str[0]] = tmp; } int flag = 0; int flag2 = 0; for(int i = 1 ; i <= 1000 ; i ++) { for(int j = 1 ; j <= 1000 ; j ++) { flag = 0; for(it = C.begin() ; it != C.end() ; it++) { if(it->second != A[it->first] * i + B[it->first]*j) {flag = 1; break;} } if(!flag) { printf("%d %d\n" , i , j); flag2 = 1; break; } } if(flag2) break; } if(!flag2) printf("NO\n"); } return 0; }