模拟
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
String a=in.nextLine();
String b=in.nextLine();
String l="*";
StringBuffer a1=new StringBuffer(a);
StringBuffer b1=new StringBuffer(b);
StringBuffer l1=new StringBuffer(l);
boolean fa=true;
int sum=0;
int t=0;
int y=0;
while (true){
if(fa){
//判断桌子是否为空
if(l1.substring(0,1).equals("*")){
l1.delete(0,1);
}else {
//每次回来找桌子上牌相同的一段坐标
t=l1.indexOf(a1.substring(0,1));
if(t!=-1){
sum=1;
}else {
t=0;
}
}
//打出去
l1.append(a1.substring(0,1));
//删除
a1.delete(0,1);
//到这里已经打完一张牌。
//开始操作插入牌组
if(sum==1){
String p="";
for(int i=t;i<l1.length();i++){
p=p+l1.substring(i,i+1);
}
StringBuffer p1=new StringBuffer(p);
a1.append(p1.reverse());
l1.delete(t,l1.length());
//复原
sum=0;
p="";
t=0;
fa=true;
if(l1.length()==0){
l1.append("*");
}
}else {
fa=false;
}
}
//与上面对称
else {
if(l1.substring(0,1).equals("*")){
l1.delete(0,1);
}else {
t=l1.indexOf(b1.substring(0,1));
if(t!=-1){
sum=1;
}else {
t=0;
}
}
//打出去
l1.append(b1.substring(0,1));
//删除
b1.delete(0,1);
//到这里已经打完一张牌。
if(sum==1){
String p="";
for(int i=t;i<l1.length();i++){
p=p+l1.substring(i,i+1);
}
StringBuffer p1=new StringBuffer(p);
b1.append(p1.reverse());
l1.delete(t,l1.length());
sum=0;
p="";
t=0;
fa=false;
if(l1.length()==0){
l1.append("*");
}
}else {
fa=true;
}
}
if(a1.length()==0){
System.out.println(b1);
break;
}else if(b1.length()==0){
System.out.println(a1);
break;
}
y++;
if(y>=100000){
System.out.println(-1);
break;
}
}
}
}