#include #include #include #include const double EPS = 1e-7; const double PI = 3.1415926535897932384626; int T, tA, tB, tC, a[26], b[26], c[26]; int main() { // freopen("input.txt", "r", stdin); std::cin >> T; for (int cs = 1; cs <= T; cs++) { std::cin >> tA >> tB >> tC; std::fill(a, a + 26, 0); std::fill(b, b + 26, 0); std::fill(c, c + 26, 0); for (int i = 1; i <= tA; i++) { char which[20]; int value; std::cin >> which >> value; a[which[0] - 'A'] = value; } for (int i = 1; i <= tB; i++) { char which[20]; int value; std::cin >> which >> value; b[which[0] - 'A'] = value; } for (int i = 1; i <= tC; i++) { char which[20]; int value; std::cin >> which >> value; c[which[0] - 'A'] = value; } std::pair answer = std::make_pair(0, 0); for (int xa = 1; xa <= 100; xa++) for (int xb = 1; xb <= 100; xb++) { bool flag = true; for (int k = 0; k < 26; k++) { if (xa * a[k] + xb * b[k] != c[k]) { flag = false; break; } } if (flag && answer == std::make_pair(0, 0)) { answer = std::make_pair(xa, xb); } } if (answer == std::make_pair(0, 0)) std::cout << "NO" << std::endl; else{ std::cout << answer.first << " " << answer.second << std::endl; } } return 0; }