#include<iostream>
#include<unordered_map>
using namespace std;
int main()
{
unordered_map<char, int> mp={{'a',2},{'b',2},{'c',2},
{'d',3},{'e',3},{'f',3},
{'g',4},{'h',4},{'i',4},
{'j',5},{'k',5},{'l',5},
{'m',6},{'n',6},{'o',6},
{'p',7},{'q',7},{'r',7},{'s',7},
{'t',8},{'u',8},{'v',8},
{'w',9},{'x',9},{'y',9},{'z',9}};
string str;
cin>>str;
string ans;
for(char ch: str)
{
if(ch>='a'&&ch<='z')
{
ch = '0'+ mp[ch];
}
else if(ch>='A'&&ch<='Z')
{
if(ch=='Z')
ch='a';
else
ch=tolower(ch)+1;
}
ans += ch;
}
cout<<ans;
return 0;
}