description: You are given two strings s and t, both consisting of lowercase English letters. You are going to type the string s character by character, from the first character to the last one.
  
  When typing a character, instead of pressing the button corresponding to it, you can press the "Backspace" button. It deletes the last character you have typed among those that aren't deleted yet (or does nothing if there are no characters in the current string). For example, if s is "abcbd" and you press Backspace instead of typing the first and the fourth characters, you will get the string "bd" (the first press of Backspace deletes no character, and the second press deletes the character 'c'). Another example, if s is "abcaa" and you press Backspace instead of the last two letters, then the resulting text is "a".
  
  Your task is to determine whether you can obtain the string t, if you type the string s and press "Backspace" instead of typing several (maybe zero) characters of s.
  
  Input
  
  The first line contains a single integer q (1 ≤ q ≤ 10^5) — the number of test cases.
  
  The first line of each test case contains the string s (1 ≤ |s| ≤ 10^5). Each character of s is a lowercase English letter.
  
  The second line of each test case contains the string t (1 ≤ |t| ≤ 10^5). Each character of t is a lowercase English letter.
  
  It is guaranteed that the total number of characters in the strings over all test cases does not exceed 2 ⋅ 10^5.
  
  Output
  
  For each test case, print "YES" if you can obtain the string t by typing the string s and replacing some characters with presses of "Backspace" button, 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
  
  
  4
  ababa
  ba
  ababa
  bb
  aaa
  aaaa
  aababa
  ababa
  
  
  Output
  
  
  YES
  NO
  NO
  YES
  
  Note
  
  Consider the example test from the statement.
  
  In order to obtain "ba" from "ababa", you may press Backspace instead of typing the first and the fourth characters.
  
  There's no way to obtain "bb" while typing "ababa".
  
  There's no way to obtain "aaaa" while typing "aaa".
  
  In order to obtain "ababa" while typing "aababa", you have to press Backspace instead of typing the first character, then type all the remaining characters.
solution: 		/*
  		TO LEARN
  		1-segment trees
  		2-euler tour
  		3-fenwick tree and interval tree
  		*/
  		/*
  		TO SOLVE 
  		uva 1103
  		codeforces 722 kavi on pairing duty
  		*/
  		/*
  		bit manipulation shit
  		1-Computer Systems: A Programmer's Perspective
  		2-hacker's delight
  		3-(02-03-bits-ints)
  		4-machine-basics
  		5-Bits Manipulation tutorialspoint
  		*/
  		/*
  		TO WATCH
  		1-what is bitmasking by kartik arora youtube
  
  		*/
  		            import java.util.*;
  				    import java.math.*;
  				    import java.io.*; 
  				    import java.util.stream.Collectors;
  
  				       public class A{
  				     
  				  static InputStream inputStream = System.in;
  		            static FastScanner scan=new FastScanner();
  				     public static PrintWriter out = new PrintWriter (new BufferedOutputStream(System.out));
  static boolean isSuffix(String s1, String s2)
      {
          int n1 = s1.length(), n2 = s2.length();
          if (n1 > n2)
          return false;
          for (int i=0; i<n1; i++)
          if (s1.charAt(n1 - i - 1) != s2.charAt(n2 - i - 1))
              return false;
          return true;
      }
  
  			public static void main(String[] args)  throws Exception 
  		      {
  			
  				//	scan=new FastScanner("help.in");
  				//out = new PrintWriter("lifeguards.out");
  				 
  				 /*
  				 currently doing 
  				 1-digit dp
  				 2-ds like fenwick and interval tree and sparse table 
  				 */
  				 /*
  				 READING 
  				 1-Everything About Dynamic Programming codeforces
  				 2-DYNAMIC PROGRAMMING: FROM NOVICE TO ADVANCED topcoder
  				 3-Introduction to DP with Bitmasking codefoces
  				 4-Bit Manipulation hackerearth
  				 5-read more about mobious and inculsion-exclusion 
  				 */
  			//	System.out.println(1&(4>>2));
  			//	System.out.println(4&(1<<2));
  
  
  
  				    int tt=1;
  				tt=scan.nextInt();
  
  			 outer:while(tt-->0)
  				    {	
  
  String s=scan.next(),t=scan.next();
  if(isSuffix(t,s))
  {
  	out.println("YES");
  	continue outer;
  }
  int j=t.length()-1;
  for(int i=s.length()-1;i>=0;)
  {
  	if(s.charAt(i)==t.charAt(j))
  	{
  		i--;
  		j--;
  	}
  	else 
  	{
  		int cnt=0;
  		int tmp=i;
  	//	out.println(i);
  		while(true)
  		{
  			if(tmp-(cnt*2)<0)
  			{
  			//	out.println(j);
  				out.println("NO");
  				continue outer;
  			}
  			if(s.charAt(tmp-(cnt*2))==t.charAt(j))
  			{
  				//out.println(j+" "+(tmp-(cnt*2)));
  				tmp=tmp-cnt*2;
  				tmp--;
  				j--;
  				break;
  			}
  			else 
  			{
  				//tmp--;
  				cnt++;
  			}
  		}
  		i=tmp;
  	}
  	if(j==-1)
  	{
  		out.println("YES");
  		continue outer;
  	}
  }
  out.println("NO");
  
  
  
  
  
  				    	
  		}
  		   out.close();
  	}
  	static class DSU
  	{
  		int parent[];
  		int size[];
  		DSU(int n)
  		{
  			parent=new int[n+10];
  			size=new int[n+10];
  			for(int i=0;i<n+10;i++){
  				parent[i]=i;
  				size[i]=1;
  			}
  		}
  		 int find(int x){
  			if(x==parent[x])
  				return x;
  			return parent[x]=find(parent[x]);
  			
  
  		}
  		 void UNION(int x,int y)
  		{
  			x=find(x);
  			y=find(y);
  			if(size[x]<=size[y])
  			{
  				size[y]+=size[x];
  				parent[x]=y;
  			}
  			else 
  			{
  				size[x]+=size[y];
  				parent[y]=x;
  			}
  		}
  	}
  		  	 
  		 		  
  				   
  				
  				static class special{
  					long x1,y1,x2,y2;
  					//int id;
  					special(long x1,long y1,long x2,long y2)
  					{
  						this.x1=x1;
  						this.y1=y1;
  						this.x2=x2;
  						this.y2=y2;
  						//this.id=id;
  					}
  					@Override
  					    public int hashCode() {
  				                int hash = 7;
  	    hash = 31 * hash + (int) x1;
  	    hash = 31 * hash + (int)x2;
  	    hash = 31 * hash + (int)y1;
  	    hash = 31 * hash + (int)y2;
  	    return hash;
  				            }
  				              @Override
  				            public boolean equals(Object o){
  				                if (o == this) return true;
  				                if (o.getClass() != getClass()) return false;
  				                special t = (special)o;
  				                return t.x1 == x1 && t.y1 == y1&&t.x2==x2&&t.y2==y2;
  				            }
  				}
  
  				   
  				     static long binexp(long a,long n)
  				    {
  				        if(n==0)
  				            return 1;
  				        long res=binexp(a,n/2);
  				        if(n%2==1)
  				            return res*res*a;
  				        else 
  				            return res*res;
  				    }
  				     
  				    static long powMod(long base, long exp, long mod) {
  				           if (base == 0 || base == 1) return base;
  				           if (exp == 0) return 1;
  				           if (exp == 1) return (base % mod+mod)%mod;
  				           long R = (powMod(base, exp/2, mod) % mod+mod)%mod;
  				           R *= R;
  				           R %= mod;
  				           if ((exp & 1) == 1) {
  				               return (base * R % mod+mod)%mod;
  				           }
  				           else return (R %mod+mod)%mod;
  				       }
  				    static double dis(double x1,double y1,double x2,double y2)
  				    {
  				        return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  				    }
  				    static long mod(long x,long y)
  				        {
  				            if(x<0)
  				                x=x+(-x/y+1)*y;
  				            return x%y;
  				        }
  				     public static  long pow(long b, long e) {
  				                long r = 1;
  				                while (e > 0) {
  				                    if (e % 2 == 1) r = r * b ;
  				                    b = b * b;
  				                    e >>= 1;
  				                }
  				                return r;
  				            }
  				    private static void sort(long[] arr) {
  				            List<Long> list = new ArrayList<>();
  				            for (long object : arr) list.add(object);
  				            Collections.sort(list);
  				        //Collections.reverse(list);
  				            for (int i = 0; i < list.size(); ++i) arr[i] = list.get(i);
  				        }
  				    private static void sort2(long[] arr) {
  				            List<Long> list = new ArrayList<>();
  				            for (Long object : arr) list.add(object);
  				            Collections.sort(list);
  				        Collections.reverse(list);
  				            for (int i = 0; i < list.size(); ++i) arr[i] = list.get(i);
  				        }
  				     static class FastScanner
  		{
  		    private int BS = 1 << 16;
  		    private char NC = (char) 0;
  		    private byte[] buf = new byte[BS];
  		    private int bId = 0, size = 0;
  		    private char c = NC;
  		    private double cnt = 1;
  		    private BufferedInputStream in;
  		 
  		    public FastScanner() {
  		        in = new BufferedInputStream(System.in, BS);
  		    }
  		 
  		    public FastScanner(String s) {
  		        try {
  		            in = new BufferedInputStream(new FileInputStream(new File(s)), BS);
  		        } catch (Exception e) {
  		            in = new BufferedInputStream(System.in, BS);
  		        }
  		    }
  		 
  		    private char getChar() {
  		        while (bId == size) {
  		            try {
  		                size = in.read(buf);
  		            } catch (Exception e) {
  		                return NC;
  		            }
  		            if (size == -1) return NC;
  		            bId = 0;
  		        }
  		        return (char) buf[bId++];
  		    }
  		 
  		    public int nextInt() {
  		        return (int) nextLong();
  		    }
  		 
  		    public int[] nextInts(int N) {
  		        int[] res = new int[N];
  		        for (int i = 0; i < N; i++) {
  		            res[i] = (int) nextLong();
  		        }
  		        return res;
  		    }
  		 
  		    public long[] nextLongs(int N) {
  		        long[] res = new long[N];
  		        for (int i = 0; i < N; i++) {
  		            res[i] = nextLong();
  		        }
  		        return res;
  		    }
  		 
  		    public long nextLong() {
  		        cnt = 1;
  		        boolean neg = false;
  		        if (c == NC) c = getChar();
  		        for (; (c < '0' || c > '9'); c = getChar()) {
  		            if (c == '-') neg = true;
  		        }
  		        long res = 0;
  		        for (; c >= '0' && c <= '9'; c = getChar()) {
  		            res = (res << 3) + (res << 1) + c - '0';
  		            cnt *= 10;
  		        }
  		        return neg ? -res : res;
  		    }
  		 
  		    public double nextDouble() {
  		        double cur = nextLong();
  		        return c != '.' ? cur : cur + nextLong() / cnt;
  		    }
  		 
  		    public double[] nextDoubles(int N) {
  		        double[] res = new double[N];
  		        for (int i = 0; i < N; i++) {
  		            res[i] = nextDouble();
  		        }
  		        return res;
  		    }
  		 
  		    public String next() {
  		        StringBuilder res = new StringBuilder();
  		        while (c <= 32) c = getChar();
  		        while (c > 32) {
  		            res.append(c);
  		            c = getChar();
  		        }
  		        return res.toString();
  		    }
  		 
  		    public String nextLine() {
  		        StringBuilder res = new StringBuilder();
  		        while (c <= 32) c = getChar();
  		        while (c != '\n') {
  		            res.append(c);
  		            c = getChar();
  		        }
  		        return res.toString();
  		    }
  		 
  		    public boolean hasNext() {
  		        if (c > 32) return true;
  		        while (true) {
  		            c = getChar();
  		            if (c == NC) return false;
  		            else if (c > 32) return true;
  		        }
  		    }
  		}
  
  				     static class Pair implements Comparable<Pair>{
  				            public long x, y,z;
  				            public Pair(long x1, long y1,long z1) {
  				                x=x1;
  				                y=y1;
  				                z=z1;
  				            }
  				             public Pair(long x1, long y1) {
  				                x=x1;
  				                y=y1;
  				    
  				            }
  				            
  				            @Override
  				            public int hashCode() {
  				                return (int)(x + 31 * y);
  				            }
  				            public String toString() {
  				                return x + " " + y+" "+z;
  				            }
  				            @Override
  				            public boolean equals(Object o){
  				                if (o == this) return true;
  				                if (o.getClass() != getClass()) return false;
  				                Pair t = (Pair)o;
  				                return t.x == x && t.y == y&&t.z==z;
  				            }
  				    public int compareTo(Pair o)
  				    {
  				    	if(x==o.x)
  				    		return -1;
  				    
  				    	return (int)(o.x-x);
  				     
  				        }
  				     
  				    }
  				    
  				    }
  
  				     
  