#include <iostream>

//using namespace std;

char D[]="ʣӌ";
char M[]="󜿟";
char toupper(char L)
  {
   if(('a'<=L)&&(L<='z')) return L-'a'+'A';
   char *p=strchr(M,L);
   if(p) return  *(D+(p-M));
   return L;
  }

bool CzyPalindrom(char *bufor)
  {
   char *p=bufor;
   char *k=p+strlen(p)-1;
   while(p<k)
     {
      while((p<k)&&(*p==' '||*p=='\t')) ++p;
      while((p<k)&&(*k==' '||*k=='\t')) --k;
      if(toupper(*p)!=toupper(*k)) return false;
      ++p;
      --k;
     }
   return true;
  }

int main()
  {
   while(true)
     {
      char bufor[1024];
      cout<<"Podaj napis: ";
      cin.getline(bufor,1024);
      if(!*bufor) break;
      if(CzyPalindrom(bufor)) cout<<"Jest palindromem;"<<endl;
      else cout<<"Nie jest palindromem;"<<endl;
     }
   return 0;
  }
