#include <bits/stdc++.h>
const int N = 5e4 + 5;
const int M = 4e5 + 5;
int line[N];
int hang[N];
char s[105], p[105], t[105];
int sum[30];
using namespace std;
int n, m, i, j;
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    memset(sum, 0, sizeof sum);
    scanf("%s", s);
    scanf("%s", t);
    scanf("%s", p);
    int mm = 0;
    int lens = strlen(s);
    int lent = strlen(t);
    int lenp = strlen(p);
    int flag1 = 0;
    for (j = 0; j < lent; j++) {
      if (t[j] == s[mm] && flag1 == 0) {
        mm++;
        if (mm == lens) flag1 = 1;
      } else {
        sum[t[j] - 'a']++;
      }
    }
    if (mm != lens) {
      printf("NO\n");
    } else {
      for (j = 0; j < lenp; j++) {
        sum[p[j] - 'a']--;
      }
      int flag = 0;
      for (j = 0; j < 30; j++) {
        if (sum[j] > 0) {
          flag = 1;
          break;
        }
      }
      if (flag == 1)
        printf("NO\n");
      else
        printf("YES\n");
    }
  }
}
