是我思路错了吗
#include<bits/stdc++.h>
using namespace std;
int t,n;string s1,s2,s3;
string run(string a,string b){
int pos=0;
for(int i=0;i<2*n;i++){
while(pos<2*n && a[pos]!=b[i])pos++;
if(pos==2*n){
for(int j=i;j<2*n;j++)a+=b[j];
return a;
}
pos++;
}
return a;
}
int main(){
cin>>t;
while(t--){
cin>>n;
cin>>s1>>s2>>s3;
int a=run(s1,s2).size(),b=run(s1,s3).size(),c=run(s2,s3).size(),d=run(s2,s1).size(),e=run(s3,s1).size(),f=run(s3,s2).size();
if((int)(a)<=3*n){
cout<<run(s1,s2)<<endl;continue;
}
if((int)(b)<=3*n){
cout<<run(s1,s3)<<endl;continue;
}
if((int)(c)<=3*n){
cout<<run(s2,s3)<<endl;continue;
}
if((int)(d)<=3*n){
cout<<run(s2,s1)<<endl;continue;
}
if((int)(e)<=3*n){
cout<<run(s3,s1)<<endl;continue;
}
if((int)(f)<=3*n){
cout<<run(s3,s2)<<endl;continue;
}
}
return 0;
}