#include <bits/stdc++.h>
#define ss(x) scanf("%s",x)
#define ps(x) printf("%s",x)
#define si(x) scanf("%d",&x)
#define pi(x) printf("%d",x)
#define sl(x) scanf("%lld",&x)
#define pl(x) printf("%lld",x)
#define sd(x) scanf("%lf",&x)
#define sp    printf(" ")
#define nl    printf("\n")
using namespace std;
int number[10];
void print(int n  , int cnt)
{

    if(n==0){
        for(int i=1;i<cnt;i++) printf(" ");
    }
    if(n==1){
        cnt--;
        cnt%=5;
        cnt++;
        if(cnt==1) printf("'");
        if(cnt==2) printf(",");
        if(cnt==3) printf(".");
        if(cnt==4) printf("!");
        if(cnt==5) printf("?");
    }
    if(n==2){
            cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("a");
        if(cnt==2) printf("b");
        if(cnt==3) printf("c");
        if(cnt==4) printf("A");
        if(cnt==5) printf("B");
        if(cnt==6) printf("C");
    }
    if(n==3){
        cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("d");
        if(cnt==2) printf("e");
        if(cnt==3) printf("f");
        if(cnt==4) printf("D");
        if(cnt==5) printf("E");
        if(cnt==6) printf("F");
    }
    if(n==4){
        cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("g");
        if(cnt==2) printf("h");
        if(cnt==3) printf("i");
        if(cnt==4) printf("G");
        if(cnt==5) printf("H");
        if(cnt==6) printf("I");
    }
    if(n==5){
        cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("j");
        if(cnt==2) printf("k");
        if(cnt==3) printf("l");
        if(cnt==4) printf("J");
        if(cnt==5) printf("K");
        if(cnt==6) printf("L");
    }
    if(n==6){
        cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("m");
        if(cnt==2) printf("n");
        if(cnt==3) printf("o");
        if(cnt==4) printf("M");
        if(cnt==5) printf("N");
        if(cnt==6) printf("O");
    }
    if(n==7)
    {
        cnt--;
        cnt%=8;
        cnt++;
        if(cnt==1) printf("p");
        if(cnt==2) printf("q");
        if(cnt==3) printf("r");
        if(cnt==4) printf("s");
        if(cnt==5) printf("P");
        if(cnt==6) printf("Q");
        if(cnt==7) printf("R");
        if(cnt==8) printf("S");
    }
    if(n==8)
    {
        cnt--;
        cnt%=6;
        cnt++;
        if(cnt==1) printf("t");
        if(cnt==2) printf("u");
        if(cnt==3) printf("v");
        if(cnt==4) printf("T");
        if(cnt==5) printf("U");
        if(cnt==6) printf("V");
    }
    if(n==9)
    {
        cnt--;
        cnt%=8;
        cnt++;
        if(cnt==1) printf("w");
        if(cnt==2) printf("x");
        if(cnt==3) printf("y");
        if(cnt==4) printf("z");
        if(cnt==5) printf("W");
        if(cnt==6) printf("X");
        if(cnt==7) printf("Y");
        if(cnt==8) printf("Z");
    }
}
int main()
{
    string str;
    while(cin>>str)
    {
        int num = str[0]-'0';
        int cnt = 1;
        for(int i=1;i<str.size();i++)
        {
            if(str[i]-'0'==num){
                cnt++;
            }
            else {
                print(num,cnt);
                num=str[i]-'0';
                cnt=1;
            }
        }
        print(num,cnt);
        nl;

    }
    return 0;
}

Measured memory_bytes: 1152