#include using namespace std; using ll = long long; using vi = vector; using vvi = vector>; using pii = pair; using vll = vector; using str = string; using vstr = vector; #define PB push_back #define ALL(x) (x).begin() (x).end() #define FOR(i,s,f) for(int (i) = (s); i < (f); i++) long long dlzka_cisla(long long cislo) { long long des = 1; long long len = 1; while (cislo / des != 0) { des *= 10; ++len; } len -= 1; return len; } void vyrob_pocty(map &pocty, long long cislo) { while (cislo > 0) { pocty[cislo % 10]++; cislo /= 10; } } void test_case() { long long n, a, b; cin >> n >> a >> b; if (n == 0 || (a % 10 == 0 && b % 10 == 0) || a * b != n) { cout << "NO" << '\n'; return; } long long len = dlzka_cisla(n); if (len % 2 != 0) { cout << "NO" << '\n'; return; } long long len_a = dlzka_cisla(a); long long len_b = dlzka_cisla(b); if (len_a != len_b || len_a + len_b != len) { cout << "NO" << '\n'; return; } map pocty; map mensie_pocty; vyrob_pocty(pocty, n); vyrob_pocty(mensie_pocty, a); vyrob_pocty(mensie_pocty, b); for (long long i = 0; i <= 9; i++) { if (pocty[i] != mensie_pocty[i]) { cout << "NO" << '\n'; return; } } cout << "YES" << endl; return; } int main(){ long long t; cin >> t; while (t--) test_case(); }