description: You have a string s and a chip, which you can place onto any character of this string. 
  
  After placing the chip, you move it to the right several (maybe zero) times, i. e. you perform the following operation several times: if the current position of the chip is i, you move it to the position i + 1. Of course, moving the chip to the right is impossible if it is already in the last position.
  
  After moving the chip to the right, you move it to the left several (maybe zero) times, i. e. you perform the following operation several times: if the current position of the chip is i, you move it to the position i - 1. Of course, moving the chip to the left is impossible if it is already in the first position.
  
  When you place a chip or move it, you write down the character where the chip ends up after your action. For example, if s is abcdef, you place the chip onto the 3-rd character, move it to the right 2 times and then move it to the left 3 times, you write down the string cdedcb.
  
  You are given two strings s and t. Your task is to determine whether it's possible to perform the described operations with s so that you write down the string t as a result.
  
  Input
  
  The first line contains one integer q (1 ≤ q ≤ 500) — the number of test cases.
  
  Each test case consists of two lines. The first line contains the string s (1 ≤ |s| ≤ 500), the second line contains the string t (1 ≤ |t| ≤ 2 ⋅ |s| - 1). Both strings consist of lowercase English characters.
  
  It is guaranteed that the sum of |s| over all test cases does not exceed 500.
  
  Output
  
  For each test case, print "YES" if you can obtain the string t by performing the process mentioned in the statement with the string s, or "NO" if you cannot.
  
  You may print each letter in any case (YES, yes, Yes will all be recognized as positive answer, NO, no and nO will all be recognized as negative answer).
  
  Example
  
  Input
  
  
  6
  abcdef
  cdedcb
  aaa
  aaaaa
  aab
  baaa
  ab
  b
  abcdef
  abcdef
  ba
  baa
  
  
  Output
  
  
  YES
  YES
  NO
  YES
  YES
  NO
  
  Note
  
  Consider the examples.
  
  The first test case is described in the statement.
  
  In the second test case, you can place the chip on the 1-st position, move it twice to the right, and then move it twice to the left.
  
  In the fourth test case, you can place the chip on the 2-nd position, and then don't move it at all.
  
  In the fifth test case, you can place the chip on the 1-st position, move it 5 times to the right, and then finish the process.
solution: """
  // Author : snape_here - Susanta Mukherjee
       
   """
  
  from __future__ import division, print_function
   
  import os,sys
  from io import BytesIO, IOBase
   
  if sys.version_info[0] < 3:
      from __builtin__ import xrange as range
      from future_builtins import ascii, filter, hex, map, oct, zip
   
  def ii(): return int(input())
  def fi(): return float(input())
  def si(): return input()
  def msi(): return map(str,input().split())
  def mi(): return map(int,input().split())
  def li(): return list(mi())
  def lsi(): return list(msi())
   
  def read():
      sys.stdin = open('input.txt', 'r')  
      sys.stdout = open('output.txt', 'w') 
   
  def gcd(x, y):
      while y:
          x, y = y, x % y
      return x
  
  def lcm(x, y):
      return (x*y)//(gcd(x,y))
  
  mod=1000000007
  
  def modInverse(b,m): 
      g = gcd(b, m)  
      if (g != 1):         
          return -1
      else:          
          return pow(b, m - 2, m) 
  
  def ceil2(x,y):
      if x%y==0:
          return x//y
      else:
          return x//y+1
  
  def modu(a,b,m): 
  
      a = a % m 
      inv = modInverse(b,m) 
      if(inv == -1): 
          return -999999999
      else: 
          return (inv*a)%m
  
  from math import log,factorial,cos,tan,sin,radians,floor,sqrt,ceil
  
  import bisect
  import random
  import string 
  
  from decimal import *
  
  getcontext().prec = 50
  
  abc="abcdefghijklmnopqrstuvwxyz"
  
  pi=3.141592653589793238
  
  def gcd1(a):
  
      if len(a) == 1:
          return a[0]
  
      ans = a[0]
      for i in range(1,len(a)):
          ans = gcd(ans,a[i])
  
      return ans
  
  def mykey(x):
      return len(x)
  
  def main():
  
      for _ in range(ii()):
          s=si()
          t=si()
          n=len(s)
          m=len(t)
          l=[]
          for i in range(n):
              if s[i]==t[0]:
                  l.append(i)
          flag = 0
          for i in range(len(l)):
              lis = []
              ind = l[i]
              x = n-ind-1
              y = ind 
              #print(x,y)
              for j in range(m):
                  k = m-2*j
                  if k>y+1 or j>x+1:
                      continue
                  s1 = s[ind:ind+j+1]
                  s2 = s1[::-1]
                  s2 = s2[1:]
                  s3 = s[ind-k+1:ind]
                  s3 = s3[::-1]
                  S = s1+s2+s3
                  lis.append(S[0:m])
              #print(lis)
              if t in lis:
                  flag = 1
                  break
          if flag:
              print("YES")
          else:
              print("NO")
  
  
  # region fastio
   
  BUFSIZE = 8192
   
  
  class FastIO(IOBase):
      newlines = 0
   
      def __init__(self, file):
          self._fd = file.fileno()
          self.buffer = BytesIO()
          self.writable = "x" in file.mode or "r" not in file.mode
          self.write = self.buffer.write if self.writable else None
   
      def read(self):
          while True:
              b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
              if not b:
                  break
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
          self.newlines = 0
          return self.buffer.read()
   
      def readline(self):
          while self.newlines == 0:
              b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
              self.newlines = b.count(b"\n") + (not b)
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
          self.newlines -= 1
          return self.buffer.readline()
   
      def flush(self):
          if self.writable:
              os.write(self._fd, self.buffer.getvalue())
              self.buffer.truncate(0), self.buffer.seek(0)
   
   
  class IOWrapper(IOBase):
      def __init__(self, file):
          self.buffer = FastIO(file)
          self.flush = self.buffer.flush
          self.writable = self.buffer.writable
          self.write = lambda s: self.buffer.write(s.encode("ascii"))
          self.read = lambda: self.buffer.read().decode("ascii")
          self.readline = lambda: self.buffer.readline().decode("ascii")
   
   
  def print(*args, **kwargs):
      """Prints the values to a stream, or to sys.stdout by default."""
      sep, file = kwargs.pop("sep", " "), kwargs.pop("file", sys.stdout)
      at_start = True
      for x in args:
          if not at_start:
              file.write(sep)
          file.write(str(x))
          at_start = False
      file.write(kwargs.pop("end", "\n"))
      if kwargs.pop("flush", False):
          file.flush()
   
   
  if sys.version_info[0] < 3:
      sys.stdin, sys.stdout = FastIO(sys.stdin), FastIO(sys.stdout)
  else:
      sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
   
  input = lambda: sys.stdin.readline().rstrip("\r\n")
   
  # endregion
  
   
  if __name__ == "__main__":
      #read()
      main()