#include #include #include #include using namespace std; vector digits(long long n) { vector v; while (n > 0) { v.push_back(n % 10); n = n / 10; } return v; } bool is_vampire(long long n,long long int a, long long int b) { // 1 if (n != a * b) { return false; } // 2 vector a_digits = digits(a); vector b_digits = digits(b); vector n_digits = digits(n); if (n_digits.size() % 2 == 1) { return false; } if (!(a_digits.size() == b_digits.size() && a_digits.size() == n_digits.size() / 2)) { return false; } // 3 if (a % 10 == 0 && b % 10 == 0) { return false; } // 4 // add 2 vectors vector a_b_digits = a_digits; for (int b_digit : b_digits) { a_b_digits.push_back(b_digit); } sort(a_b_digits.begin(), a_b_digits.end()); sort(n_digits.begin(), n_digits.end()); for (int i = 0; i < n_digits.size(); i++) { if (a_b_digits[i] != n_digits[i]) { return false; } } return true; } int main() { int t; cin >> t; vector result; for (int i = 0; i < t; i++) { long n,a,b; cin >> n >> a >> b; result.push_back(is_vampire(n, a, b)); } for (auto && i : result) { string r = i ? "YES" : "NO"; cout << r << endl; } }