#include <bits/stdc++.h>
using namespace std;
char a[105], b[105], c[105];
int zm[30];
int main() {
  int q;
  scanf("%d", &q);
  while (q--) {
    scanf("%s", a);
    scanf("%s", b);
    scanf("%s", c);
    int i = 0, j = 0;
    memset(zm, 0, sizeof(zm));
    while (b[j] != '\0') {
      if (a[i] == b[j]) {
        ++i;
        ++j;
      } else {
        zm[b[j] - 'a']++;
        ++j;
      }
    }
    if (i != (int)strlen(a)) {
      puts("NO");
      continue;
    }
    bool flag = 1;
    for (i = 0; c[i] != '\0'; ++i) {
      if (zm[c[i] - 'a'] == 0) continue;
      zm[c[i] - 'a']--;
    }
    for (i = 0; i < 26; ++i) {
      if (zm[i] > 0) {
        flag = 0;
        break;
      }
    }
    if (flag) {
      puts("YES");
    } else {
      puts("NO");
    }
  }
  return 0;
}
