#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<set>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
#include<iostream>
#include<string>
#include<cmath>
#define PRIME 13331
#define N 8010
#define FOR(i,a,b) for(i=(a);i<=(b);i++)
#define ROF(i,a,b) for(i=(a);i>=(b);i--)
typedef unsigned long long ULL;
using namespace std;
ULL p[N];char s1[N],s2[N];ULL c[N];
void Main()
{
scanf("%s",s1+1);scanf("%s",s2+1);
int n=strlen(s1+1),m=strlen(s2+1),i;
if (n<m) {printf("NO\n");return;}
ULL tmp=0;
FOR(i,1,m) {tmp*=PRIME;tmp+=s2[i]-'a';}
int len=1;c[1]=tmp;
FOR(i,1,m) {tmp-=(s2[i]-'a')*p[m-1];tmp*=PRIME;tmp+=s2[i]-'a';c[++len]=tmp;}
sort(c+1,c+1+len);
tmp=0;
FOR(i,1,n)
{
if (i<=m) {tmp*=PRIME;tmp+=s1[i]-'a';}
else {tmp-=(s1[i-m]-'a')*p[m-1];tmp*=PRIME;tmp+=s1[i]-'a';}
if (i>=m)
{
if (binary_search(c+1,c+1+len,tmp)) {printf("YES\n");return;}
}
}
printf("NO\n");
}
int main()
{
int T,i;
scanf("%d",&T);
p[0]=1;
FOR(i,1,8000) p[i]=p[i-1]*PRIME;
while (T--) Main();
}