#include<bits/stdc++.h>
using namespace std;
string rev="AEHIJLMOSTUVWXYZ12588ZS15YXWVUT2OMJLIH3A";
bool ishw(string s){
int l=0,r=s.length()-1;
while(l<=r){
if(s[l]==s[r]){
l++;
r--;
}
else return false;
}
return true;
}
bool isjx(string s){
int n=rev.length();
int l=0,r=s.length()-1;
int i,j;
while(l<=r){
for(i=0;i<n;i++)
if(s[l]==rev[i])
break;
for(j=rev.length()-1;j>=0;j--){
if(j==i)
continue;
if(s[r]==rev[j])
break;
}
if(i+j==n-1){
l++;
r--;
}
else return false;
}
return true;
}
int main(){
string s;
while(cin>>s){
if(ishw(s)&&isjx(s))
cout<<s<<" -- is a mirrored palindrome."<<endl<<endl;
else if(!ishw(s)&& isjx(s))
cout<<s<<" -- is a mirrored string."<<endl<<endl;
else if(ishw(s)&& !isjx(s))
cout<<s<<" -- is a regular palindrome."<<endl<<endl;
else if(!ishw(s)&& !isjx(s))
cout<<s<<" -- is not a palindrome."<<endl<<endl;
}
return 0;
}