#include #include using namespace std; void printNo() { cout << "NO" << endl; } int main() { int t; long n, a, b; cin >> t; while (t--) { cin >> n >> a >> b; if (a * b != n) { printNo(); continue; } if (a % 10 == 0 && b % 10 == 0) { printNo(); continue; } string a_str, b_str; a_str = to_string(a); b_str = to_string(b); if (a_str.size() != b_str.size()) { printNo(); continue; } string n_str = to_string(n); if (n_str.size() != a_str.size() * 2) { printNo(); continue; } int n_arr[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int ab_arr[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; bool isVampire = true; for (size_t i = 0; i < a_str.size(); i++) { ab_arr[a_str[i] - '0']++; } for (size_t i = 0; i < b_str.size(); i++) { ab_arr[b_str[i] - '0']++; } for (size_t i = 0; i < n_str.size(); i++) { n_arr[n_str[i] - '0']++; if (n_arr[n_str[i] - '0'] > ab_arr[n_str[i] - '0']) { printNo(); isVampire = false; break; } } if (isVampire) { for (size_t i = 0; i < 10; i++) { if (n_arr[i] != ab_arr[i]) { printNo(); isVampire = false; break; } } } if (isVampire) cout << "YES" << endl; } return 0; }