#include<stdio.h>
#include<string.h>
int main()
{
char s[25];
while(scanf("%s",s)!=EOF)
{
int o=1,p=1,q=1;
int l=strlen(s);
int t=l/2;
for(int i=0;i<t;i++)
{
if(s[i]!=s[l-1-i])
{
o=0;
break;
}
}
for(int i=0;i<l;i++)
{
if(!(s[i]=='A'||s[i]=='H'||s[i]=='I'||s[i]=='M'||s[i]=='O'||s[i]=='T'||s[i]=='U'||s[i]=='V'||s[i]=='W'||s[i]=='X'||s[i]=='Y'||s[i]=='8'||s[i]=='1'||s[i]=='0'))
{
p=0;
break;
}
}
for(int i=0;i<=t+1;i++)
{
if(!(s[i]=='E'&&s[l-1-i]=='3'||s[i]=='3'&&s[l-1-i]=='E'||s[i]=='J'&&s[l-1-i]=='L'||s[i]=='L'&&s[l-1-i]=='J'||s[i]=='S'&&s[l-1-i]=='2'||s[i]=='2'&&s[l-1-i]=='S'||s[i]=='Z'&&s[l-1-i]=='5'||s[i]=='5'&&s[l-1-i]=='Z'||s[i]=='A'&&s[l-1-i]=='A'||s[i]=='H'&&s[l-1-i]=='H'||s[i]=='I'&&s[l-1-i]=='I'||s[i]=='M'&&s[l-1-i]=='M'||s[i]=='O'&&s[l-1-i]=='O'||s[i]=='T'&&s[l-1-i]=='T'||s[i]=='U'&&s[l-1-i]=='U'||s[i]=='V'&&s[l-1-i]=='V'||s[i]=='W'&&s[l-1-i]=='W'||s[i]=='X'&&s[l-1-i]=='X'||s[i]=='Y'&&s[l-1-i]=='Y'||s[i]=='8'&&s[l-1-i]=='8'||s[i]=='1'&&s[l-1-i]=='1'||s[i]=='0'&&s[l-1-i]=='0'))
{
q=0;
break;
}
}
if(o==0&&q==0&&q==0)
printf("%s -- is not a palindrome.\n",s);
else if(o==1&&p==0)
printf("%s -- is a regular palindrome.\n",s);
else if(p==0&&q==1)
printf("%s -- is a mirrored string.\n",s);
else if(o==1&&p==1)
printf("%s -- is a mirrored palindrome.\n",s);
printf("\n");
}
return 0;
}
#include<string.h>
int main()
{
char s[25];
while(scanf("%s",s)!=EOF)
{
int o=1,p=1,q=1;
int l=strlen(s);
int t=l/2;
for(int i=0;i<t;i++)
{
if(s[i]!=s[l-1-i])
{
o=0;
break;
}
}
for(int i=0;i<l;i++)
{
if(!(s[i]=='A'||s[i]=='H'||s[i]=='I'||s[i]=='M'||s[i]=='O'||s[i]=='T'||s[i]=='U'||s[i]=='V'||s[i]=='W'||s[i]=='X'||s[i]=='Y'||s[i]=='8'||s[i]=='1'||s[i]=='0'))
{
p=0;
break;
}
}
for(int i=0;i<=t+1;i++)
{
if(!(s[i]=='E'&&s[l-1-i]=='3'||s[i]=='3'&&s[l-1-i]=='E'||s[i]=='J'&&s[l-1-i]=='L'||s[i]=='L'&&s[l-1-i]=='J'||s[i]=='S'&&s[l-1-i]=='2'||s[i]=='2'&&s[l-1-i]=='S'||s[i]=='Z'&&s[l-1-i]=='5'||s[i]=='5'&&s[l-1-i]=='Z'||s[i]=='A'&&s[l-1-i]=='A'||s[i]=='H'&&s[l-1-i]=='H'||s[i]=='I'&&s[l-1-i]=='I'||s[i]=='M'&&s[l-1-i]=='M'||s[i]=='O'&&s[l-1-i]=='O'||s[i]=='T'&&s[l-1-i]=='T'||s[i]=='U'&&s[l-1-i]=='U'||s[i]=='V'&&s[l-1-i]=='V'||s[i]=='W'&&s[l-1-i]=='W'||s[i]=='X'&&s[l-1-i]=='X'||s[i]=='Y'&&s[l-1-i]=='Y'||s[i]=='8'&&s[l-1-i]=='8'||s[i]=='1'&&s[l-1-i]=='1'||s[i]=='0'&&s[l-1-i]=='0'))
{
q=0;
break;
}
}
if(o==0&&q==0&&q==0)
printf("%s -- is not a palindrome.\n",s);
else if(o==1&&p==0)
printf("%s -- is a regular palindrome.\n",s);
else if(p==0&&q==1)
printf("%s -- is a mirrored string.\n",s);
else if(o==1&&p==1)
printf("%s -- is a mirrored palindrome.\n",s);
printf("\n");
}
return 0;
}