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


#define bool    short
#define true    1
#define false   0
#define equals(a, b) (((strcmp(a, b) == 0 ) ? true : false))
#define NUMENTRADA 1000
#define TAMLINHA   1000


bool isFim (char* s){

    return (strlen(s) >= 3 && s[0] == 'F' && s[1] == 'I' && s[2] == 'M');

}


bool isPalindromo(char* s){

    int meio = strlen(s)/2;
    int indc = strlen(s) - 1;

    bool resp = true;

//    printf("\nresp ==>> %d \n", resp);

    for (int i = 0 ; i < meio ; i++){

//        printf("\nresp2 ==>> %d \n", resp);
//        printf("BOOL2  ======= >> %d \n", (resp && (s[i] == s[indc])));

        resp = resp && (s[i] == s[indc]);
        indc--;

//        printf("VALOR  ======= >> %c \n", s[i]);
//        printf("VALOR 2  ======= >> %c \n", s[indc]);

//        printf("\nRESP  ======= >> %d \n", resp);
//        printf("BOOL  ======= >> %d \n", (resp && (s[i] == s[indc])));

    }

//        printf("\n---------------------------\n");
//        printf("BOOL  ======= >> %d \n", (s[i] == s[indc]));
//        printf("\n---------------------------\n");

    return resp;

}


int main (int argc, char** argv){

    char entrada [NUMENTRADA][TAMLINHA];
    int numEntrada = 0;

    do{

        fgets(entrada[numEntrada], TAMLINHA, stdin);
        entrada[numEntrada][strcspn(entrada[numEntrada], "\n")] = '\0';

    } while (isFim(entrada[numEntrada++]) == false);

    numEntrada--;

    for (int i = 0; i < numEntrada ; i++){

        if(isPalindromo(entrada[i]) == true){

            printf("SIM\n");

        } else {

            printf("NAO\n");

        }

    }

	return 0;
}
