#include <iostream>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
//抄博友程序
string ma;//A到Z
string mn;//1到9
bool pal(string s)
{
string t=s;
reverse(t.begin(),t.end());
//cout<<"pal "<<t<<" "<<s<<endl;
return t==s;
}
bool mir(string s)
{
//cout<<"mir"<<endl;
string t=s;
for(int i=0;i<s.size();i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
if(ma[s[i]-'A']==' ')
{
return false;
}else
{
t[i]=ma[s[i]-'A'];
}
}else if(s[i]>='1'&&s[i]<='9')
{
if(mn[s[i]-'1']==' ')
{
return false;
}else
{
t[i]=mn[s[i]-'1'];
}
}
}
reverse(t.begin(),t.end());
//cout<<"mir "<<s<<" "<<t<<endl;
return s==t;
}
int main()
{
ma="A 3 HIL JM O 2TUVWXY5";//抄博友 打表
mn="1SE Z 8 ";
string s;
while(cin>>s)
{
for(int i=0;i<s.size();i++)//0变成O
{
if(s[i]=='0')
s[i]='O';
}
//cout<<pal(s)<<endl;
//cout<<mir(s)<<endl;
if(pal(s)&&mir(s))
{
cout<<s<<" -- is a mirrored palindrome."<<endl<<endl;
}else if(pal(s))
{
cout<<s<<" -- is a regular palindrome."<<endl<<endl;
}else if(mir(s))
{
cout<<s<<" -- is a mirrored string."<<endl<<endl;
}else
{
cout<<s<<" -- is not a palindrome."<<endl<<endl;
}
}
return 0;
}