#include<bits/stdc++.h>
using namespace std;
int t,a1,a2,b1,b2;
int lenx,leny,lens;
double lent;
string s,x,y;
int gcd(int a,int b){
if(b==0)return a;
return gcd(b,a%b);
}
bool check(int m){
for(int i=0;i+m<lens;i++){
if(s[i]!=s[i+m]){
return 0;
}
}
return 1;
}
int main(){
cin>>t;
while(t--){
cin>>s>>x>>y;
a1=0,a2=0,b1=0,b2=0;
lenx=x.length();
leny=y.length();
lens=s.length();
for(int i=0;i<lenx;i++){
if(x[i]=='0')a1++;
else b1++;
}
for(int i=0;i<leny;i++){
if(y[i]=='0')a2++;
else b2++;
}
if(a1==b1){
puts("Yes");
continue;
}
lent=(double)((double)((a1-a2)*1.0/(b2-b1))*(double)lens);
if((int)(lent)!=lent){
puts("No");
continue;
}
if(lent<0){
puts("No");
continue;
}
if(a1!=a2 && b1==b2){
puts("No");
continue;
}
lent=(int)(lent);
int m=gcd(lent,lens);
if(check(m)==1)puts("Yes");
else puts("No");
}
return 0;
}
