
#include <stdio.h>

char asigna(char letra);	/*funcion que asigna al numero codificado su letra correspondiente*/
int espacio(int b);	/*funcion que cuenta los espacios de cada numero codificado*/
main()
{	
	char letra='q';
	int senal=1;
	while (letra!=EOF)
	{
		letra=getchar();
		asigna(letra);	
	}

}
char asigna(char letra)
{
	switch (letra)
	{
	case '5': printf(" ");
		  espacio(3);
		  break;
	case '4': printf("C");
		  espacio(2);
		  break;
	case '3': letra=getchar();
		  if (letra=='7')	
		  	printf("I");
		  else if (letra=='5')
			{
			letra=getchar();
			if (letra=='7')
				{
				printf("N");
				espacio(1);
				}
				else if (letra=='6')
				{
				printf("J");
				espacio(1);
				}
			}
		 break;
	case '2': letra=getchar();
		  if (letra=='7')
			{	
			printf("T");
			espacio(1);
			}
		  else if (letra=='3')
			{
			printf("Z");
		  	espacio(3);
			}
		  break;
	case '0': letra=getchar();
		  if (letra=='9')
		  	printf("X");
		  else
			letra=getchar();	
		  if (letra=='3')
		  	{
			printf("W");
			espacio(3);
		  	}
		  else if (letra=='5')
		  	{
			printf("D");
			espacio(1);
		  	}
		  break;  
	case '1':letra=getchar();
		 switch (letra)
		{
		case '5': printf("L");
			  espacio(1);			      								  	       break;
		case '4': printf("P");
			  espacio(2);
			  break;
		case '3': letra=getchar();
			  switch (letra)
			  {
			  case '7': printf("V");
				    espacio(1);
			 	    break;
			  case '5': printf("U");
				    espacio(2);
				    break;
		          case '4': letra=getchar();
				    switch (letra)
				    {
				    case '7': printf("Y");
	                            	      break;
		          	    case '5': letra=getchar();
		                    	      if (letra=='9')
					      printf("K");
					      else if (letra=='7')
					      printf("H");
				    }
				    break;
			  }
			  break;
		case '2': letra=getchar();
			   switch (letra)
			   {
			   case '5': printf("G");
				     espacio(2);
				     break;
			   case '4': letra=getchar();
				     switch (letra)
				     {
				     case '5':	printf("E");
						espacio(1);
						break;
				     case '6':  printf("S");
				   		espacio(1);
						break;
			             case '9':	printf("F");
						break;
				     }
				     break;
			   case '3': letra=getchar();
			              switch (letra)
				      {	   
				      case '5': letra=getchar();
					        if (letra=='7')
							printf("M");
					   	 else if (letra=='6')
							{
						      	printf("O");
							espacio(1);
							}
					     	break;
				      case '4': letra=getchar();
					        switch (letra)
					  	{
					  	case '7': printf("Q");
						          break;
					  	case '5': letra=getchar();
							   switch (letra)
							   {
							   case '9': printf("R");
								     break;
							   case '7': printf("A");					     	
								     break;	
						    	   case '6': printf("B");
								     espacio(1);
								     break;
					        	   }
							  break;
				   		 }
						break;
                       			}
					break;
				}
				break;
			}
	default: if (letra<=47 || letra>= 58)/* de esta forma no imprime los numeros*/
		 	printf("%c",letra);
		 break;
	}	
return 0;
}

int espacio(int b)
{
	int cont=0;
	char esp;
	while (cont < b)
	{
		esp=getchar();
		cont++;
	}	
return 0;
}
