#include<iostream>
#include<cstdio>
#include<stack>
#include<vector>
using namespace std;
string a,b;
stack<char> st;
vector<char> v;
int len;
void dfs(int input,int output)
{
if(input==len&&output==len)
{
int vl=v.size();
for(int i=0;i<vl;i++)
cout<<v[i]<<" ";
cout<<endl;
}
if(input+1<=len)
{
st.push(a[input]);
v.push_back('i');
dfs(input+1,output);
v.pop_back();
st.pop();
}
if(output+1<=input&&output+1<=len&&st.top()==b[output])
{
char ch=st.top();
st.pop();
v.push_back('o');
dfs(input,output+1);
st.push(ch);
v.pop_back();
}
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
while(cin>>a>>b)
{
len=a.size();
cout<<"["<<endl;
if(a.size()==b.size())
dfs(0,0);
cout<<"]"<<endl;
}
return 0;
}