#include <stdio.h>
#define FALSE 0
#define TRUE  1

/*
 * Descenso recursivo para la gramatica:
 * S -> aSa
 * S -> bSb
 * S -> c
 */

char NextChar;

main()
{
   NextChar = getchar();
   printf("%d\n", S());
}

S()
{
   if( NextChar == 'a' )
     {
	NextChar = getchar();
	if( !S() )
	   return(FALSE);

 	if( NextChar == 'a' )
	  {
	   NextChar = getchar();
	   return(TRUE);
	  }

	printf("false en S\n");
	return(FALSE);
    }
  else if( NextChar == 'b' )
    {
        NextChar = getchar();
        if( !S() )
           return(FALSE);

        if( NextChar == 'b' )
          {
           NextChar = getchar();
           return(TRUE);
          }

	printf("false en K\n");
        return(FALSE);
    }
  else if (NextChar == 'c')
    {
	NextChar = getchar();
	return(TRUE);
    }
  else
    return(FALSE);
}
