#include
#include
#include
#include
using namespace std;
char Reverse[35] =
{
'A', '#', '#', '#', '3', '#', '#', 'H', 'I', 'L', '#', 'J', 'M',
'#', 'O', '#', '#', '#', '2', 'T', 'U', 'V', 'W', 'X', 'Y', '5',
'1', 'S', 'E', '#', 'Z', '#', '#', '8', '#'
};
void input()
{
string str;
while (cin >> str)
{
bool flag1 = true, flag2 = true;
int len = str.length();
for (int i = 0; i < len / 2; i++)
{
if (str[i] != str[len - i - 1])
{
flag1 = false;
break;
}
}
for (int i = 0; i <= len / 2; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
if (Reverse[str[i] - 'A'] != str[len - i - 1])
{
flag2 = false;
break;
}
}
else
{
if (Reverse[str[i] - '1' + 26] != str[len - i - 1])
{
flag2 = false;
break;
}
}
}
cout << str;
if (flag1 && flag2)
{
cout << " -- is a mirrored palindrome.";
}
else if (flag1)
{
cout << " -- is a regular palindrome.";
}
else if (flag2)
{
cout << " -- is a mirrored string.";
}
else
{
cout << " -- is not a palindrome.";
}
cout << endl;
cout << endl;
}
}
int main()
{
input();
return 0;
}