#include <iostream>
#include <string>
using namespace std;
int main(){
string input, output, mapin ="abcdefghijklmnopqrstuvwxyz",
mapout="22233344455566677778889999";
cout << "Type 'stop' to stop or type your 7 letter message to be converted to numbers: " << endl;
bool input_ok=true;
while (cin >> input) {
for (auto &c: input)
c = tolower(c); // lowercase, just to simplify
if (input=="stop" || output.size()==7)
break; // reasons to stop reading
for (auto &c:input) {
if (isalpha(c))
output += (c>='w'? '9' : (c>='p'? "78"[(c-'p')/4]:'2'+(c-'a')/3));
else {
input_ok=false;
output += '?';
}
if (output.size()==7)
break;
}
}
if (input_ok) {
cout << output.substr(0,3) ;
if (output.size()>3)
cout << "-" << output.substr(3,7) ;
cout << endl << endl;
}
else {
cout << "incorrect input" << endl <<output<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CiAgICBzdHJpbmcgaW5wdXQsIG91dHB1dCwgbWFwaW4gPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIG1hcG91dD0iMjIyMzMzNDQ0NTU1NjY2Nzc3Nzg4ODk5OTkiOwogICAgY291dCA8PCAiVHlwZSAnc3RvcCcgdG8gc3RvcCBvciB0eXBlIHlvdXIgNyBsZXR0ZXIgbWVzc2FnZSB0byBiZSBjb252ZXJ0ZWQgdG8gbnVtYmVyczogIiA8PCBlbmRsOwogICAgCiAgICBib29sIGlucHV0X29rPXRydWU7IAogICAgd2hpbGUgKGNpbiA+PiBpbnB1dCkgewoJCWZvciAoYXV0byAmYzogaW5wdXQpCgkJCWMgPSB0b2xvd2VyKGMpOyAgICAvLyBsb3dlcmNhc2UsICBqdXN0IHRvIHNpbXBsaWZ5CgkJaWYgKGlucHV0PT0ic3RvcCIgfHwgb3V0cHV0LnNpemUoKT09NykgCgkJICAgIGJyZWFrOyAgICAgICAgICAgICAgLy8gcmVhc29ucyB0byBzdG9wIHJlYWRpbmcgCiAgICAgICAgCiAgICAgICAgZm9yIChhdXRvICZjOmlucHV0KSB7CiAgICAgICAgCWlmIChpc2FscGhhKGMpKSAKICAgICAgICAJCW91dHB1dCArPSAoYz49J3cnPyAnOScgOiAoYz49J3AnPyAiNzgiWyhjLSdwJykvNF06JzInKyhjLSdhJykvMykpOwogICAgICAgIAllbHNlIHsKICAgICAgICAJCWlucHV0X29rPWZhbHNlOyAKICAgICAgICAJCW91dHB1dCArPSAnPyc7CiAgICAgICAgCX0KICAgICAgICAJaWYgKG91dHB1dC5zaXplKCk9PTcpCiAgICAgICAgCSAgICBicmVhazsKICAgICAgICB9CiAgICB9CglpZiAoaW5wdXRfb2spIHsKICAgICAgICBjb3V0IDw8IG91dHB1dC5zdWJzdHIoMCwzKSAgOwogICAgICAgIGlmIChvdXRwdXQuc2l6ZSgpPjMpIAogICAgICAgIAljb3V0IDw8ICItIiA8PCBvdXRwdXQuc3Vic3RyKDMsNykgOwogICAgICAgIGNvdXQgPDwgZW5kbCA8PCBlbmRsOwoJfQoJZWxzZSB7CiAgICAgICAgY291dCA8PCAiaW5jb3JyZWN0IGlucHV0IiA8PCBlbmRsIDw8b3V0cHV0PDxlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=