#include <iostream>
#include <stdio.h>
using namespace std;
class seqstack
{
private:
char *element;
int top;
int maxsize;
void overflow();
public:
seqstack(int sz=60);
~seqstack(){delete []element;}
void push(char &x);
int pop(char &x);
int isempty() const{return top==-1;}
int isfull() const{return top==maxsize-1;}
void input();
};
void seqstack::input()
{
int cnt=1;
char a,b;
cin>>a;
while(a!='#')
{
if(a=='>')
{
b='<';
}
else if(a=='}')
{
b='{';
}
else if(a==')')
{
b='(';
}
else b='`';
if(a=='<'||a=='('||a=='{')
{
push(a);
}
else if(a=='>'||a==')'||a=='}')
{
if(element[top]==b)
{
pop(element[top]);
}
else if(element[top]!=b)
{
cout<<"The "<<cnt<<" character '"<<a<<"' is wrong."<<endl;
break;
}
}
cin>>a;
if(a=='#'&&top!=-1)
{
cout<<"loss of right character ";
while(top!=-1)
{
char c=element[top--];
if(c=='<')
{
b='>';
}
else if(c=='{')
{
b='}';
}
else if(c=='(')
{
b=')';
}
cout<<b;
}
cout<<"."<<endl;
}
else if(a=='#'&&top==-1)
{
cout<<"right."<<endl;
}
cnt++;
}
}
seqstack::seqstack(int sz)
{
element=new char[sz];
if(element!=NULL);
top=-1;
maxsize=sz;
}
void seqstack::overflow()
{
char *newarray=new char[2*maxsize];
for(int i=0;i<=top;i++)
{
newarray[i]=element[i];
}
maxsize*=2;
delete []element;
element=newarray;
}
void seqstack::push(char &x)
{
if(isfull())
{
overflow();
}
element[++top]=x;
}
int seqstack::pop(char &x)
{
if(isempty())
{
return 0;
}
x=element[--top];
return 1;
}
int main()
{
seqstack s;
s.input();
return 0;
}