#include <stdio.h>
#define MAX_MESSAGE_LEN 76

char table[10][6] = { { 0  , 0  , 0  , 0  , 0  , 0 },
                      { '.', ',', '!', '?', ' ', 0 },
                      { 'a', 'b', 'c', 0  , 0  , 0 },
                      { 'd', 'e', 'f', 0  , 0  , 0 },
                      { 'g', 'h', 'i', 0  , 0  , 0 },
                      { 'j', 'k', 'l', 0  , 0  , 0 },
                      { 'm', 'n', 'o', 0  , 0  , 0 },
                      { 'p', 'q', 'r', 's', 0  , 0 },
                      { 't', 'u', 'v', 0  , 0  , 0 },
                      { 'w', 'x', 'y', 'z', 0  , 0 } };

int main(void)
{
    char message[MAX_MESSAGE_LEN], ch;
    short len = 0, x, y;

    while((ch = getchar()) != EOF)
    {
        if(ch == '\n')
        {
            message[len] = '\0';
            puts(message);
            len = x = y = 0;
        }

        else
        {
            ch = ch - '0';

            if(ch == 0)
            {
                if(table[y][x])
                    message[len++] = table[y][x];
                x = y = 0;
            }

            else if(ch == y)
            {
                x++;
                if(!table[y][x]) x = 0;
            }

            else
                y = ch, x = 0;
        }
    }

    return 0;
}