#include <stdio.h>                      /* CHRISTIAN CARDENAS VILLARROEL*/
int final(int a);
void decof(long int x);
int camb(char a);
main()
{
 int b,c,d,e;
 long int suma;
 system("clear");       /*limpia la pantalla al ejecutar el programa*/
 b=getchar();
 d=camb(b);      
 suma=d;
 c=getchar();
 e=camb(c);
 while((e!=EOF) )
 {
   while(e>d)
   {
     suma=(suma*10)+e;
     decof(suma);   /*se llama a la funcion suma si la suma corresponda a una letra se imprimira la */ 
     d=e;             /*  letra*/
     c=getchar();
     e=camb (c);
     if(e==-1)     /* si el valor retornado por la funcion camb, es -1 se termina el programa*/
     return 0;
   }
  suma=e;    /* como la suma se detiene cuando el numero que ingresamos es menor que el anterior, el*/ 
  d=e;       /*  valor menor que ingresemos sera asignado a suma*/
  b=getchar();
  e=camb(b);
 }
 return  0;
}


int camb(char a)                      /*ingresamos un caracter y retorna un entero*/
{
 switch(a)
  {
   case '0': return 0;
   case '1': return 1;
   case '2': return 2;
   case '3': return 3;
   case '4': return 4;
   case '5': return 5;
   case '6': return 6;
   case '7': return 7;
   case '8': return 8;
   case '9': return 9;
   default : final(a);           
  }
}


void decof(long int x)   /* esta funcion busca si la suma corresponde a una letra*/
{
 switch(x)
  {
    case 123457 : putchar('a');
		  break;
    case 1234567: putchar('b');
		  break;
    case 456    : putchar('c');
		  break;
    case 158    : putchar('d');
		  break;
    case 12456  : putchar('e');
		  break;
    case 1249   : putchar('f');
		  break;
    case 12569  : putchar('g');
		  break;
    case 13457  : putchar('h');
		  break;
    case 37     : putchar('i');
		  break;
    case 3567   : putchar('j');
		  break;
    case 13459  : putchar('k');
		  break;
    case 156    : putchar('l');
		  break;
    case 12357  : putchar('m');
		  break;
    case 3579   : putchar('n'); 
                  break;
    case 123567 : putchar('o');
		  break;
    case 1458   : putchar('p');
		  break;
    case 12347  : putchar('q');
		  break;
    case 123459 : putchar('r');
		  break;
    case 12467  : putchar('s');
		  break;
    case 278    : putchar('t');
		  break;
    case 13567  : putchar('u');
		  break;
    case 1379   : putchar('v');
		  break;
    case 13579  : putchar('w');
		  break;
    case 9      : putchar('x');
		  break;
    case 1347   : putchar('y');
		  break;
    case 23456  : putchar('z');
		  break; 
  }
}

int final(int a)
{
  if(a==EOF)
    return -1;
  else
    if( ((a<=47) || (a>=58)) ) /* si un dato ingresado corresponde con una de las condiciones*/
    {                         /*del if, se imprimira dicho dato*/
     putchar(a);
     a=getchar();
     camb(a);
    }
}


