// Rozwiazanie zadania 6.1
// (c) A.Lukaszewski 2012

#include <stdio.h>
#include <stdlib.h>

void swap(char *a, char *b){// Zawsze warto wyodrebniac konkretne operacje
   char t;
   t=*a; *a=*b; *b=t;
}

void rewers(char *t){ 
   char *e=t;
   while (*e) e++;
   e--;                     // Cofamy sie z "zera po" na ostatnia litere napisu
   while (t<e) {
      swap(t,e);
      t++; e--;
   }
}

int  palindrom(char *t){
   char *e=t;               // Jako drugi wskaznik możemy uzyć parametru t
   while (*e) e++;          // (wartosci p z main() ) nie zmieni to p w main()
   e--;
   while (t<e) {  
      if (*t != *e) return 0;
      t++; e--;
   }
   return 1;
}

int main() {
   char *p = (char*)malloc(1000*sizeof(char));
   scanf("%s", p);
   if (palindrom(p)) printf("TAK\n");
   else {
      rewers(p);
      printf("%s\n", p);
   }
   return 0;
}
