#include <bits/stdc++.h>
using namespace std;
bool bol = true;
map<string, int> mp;
long long int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
    w, x, y, z, min, max, ans, bas, mid, son;
string aa, bb, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, rr, ss,
    tt, uu, vv, ww, xx, yy, zz;
map<string, int> cc;
bool yew(map<char, int> mp, string st, map<char, int> cc) {
  for (int i = 0; i < st.size(); i++) {
    if (mp[st[i]] != cc[st[i]]) {
      return false;
    }
  }
  return true;
}
bool ctrl(string b, string st, map<char, int> cc) {
  if (st.size() > b.size()) {
    return false;
  }
  map<char, int> ar;
  for (int i = 0; i < st.size(); i++) {
    ar[b[i]]++;
  }
  for (int i = 0; i <= b.size() - st.size(); i++) {
    if (yew(ar, st, cc)) {
      return true;
    }
    ar[b[i]]--;
    ar[b[st.size() + i]]++;
  }
  return false;
}
void coz() {
  cin >> q;
  while (q--) {
    string ff;
    string ss;
    cin >> ff >> ss;
    map<char, int> cc;
    for (int i = 0; i < ff.size(); i++) {
      cc[ff[i]]++;
    }
    if (ctrl(ss, ff, cc)) {
      cout << "YES" << endl;
    } else {
      cout << "NO" << endl;
    }
  }
}
int main() { coz(); }
