#include <bits/stdc++.h>
using namespace std;
int t, fr[28], copie[28], nr;
string p, h;
bool viz[28];
void gol() {
  for (int i = 0; i <= 26; i++) fr[i] = 0, copie[i] = 0, viz[i] = 0;
}
bool valid() {
  for (int i = 0; i <= 26; i++)
    if (fr[i]) return false;
  return true;
}
int main() {
  cin >> t;
  for (int k = 1; k <= t; k++) {
    cin >> p >> h;
    gol();
    nr = 0;
    for (int i = 0; i < int(p.size()); i++) {
      fr[int(p[i] - 'a')]++;
      copie[int(p[i] - 'a')]++;
      nr++;
      viz[int(p[i] - 'a')] = 1;
    }
    int plec = 0, ajung = nr - 1;
    for (int i = 0; i < nr; i++)
      if (viz[int(h[i] - 'a')]) fr[int(h[i] - 'a')]--;
    while (valid() == false && ajung < int(h.size())) {
      if (viz[int(h[plec] - 'a')]) fr[int(h[plec] - 'a')]++;
      plec++;
      ajung++;
      if (viz[int(h[ajung] - 'a')]) fr[int(h[ajung] - 'a')]--;
    }
    if (valid() == true)
      cout << "YES" << '\n';
    else
      cout << "NO" << '\n';
  }
  return 0;
}
