#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) {
auto pos=mapin.find(c);
if (pos==string::npos) {
input_ok=false;
output += '?';
}
else output += mapout[pos];
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+PiBpbnB1dCkgewoJCWZvciAoYXV0byAmYzogaW5wdXQpCgkJCWMgPSB0b2xvd2VyKGMpOyAgICAvLyBsb3dlcmNhc2UsICBqdXN0IHRvIHNpbXBsaWZ5CgkJaWYgKGlucHV0PT0ic3RvcCIgfHwgb3V0cHV0LnNpemUoKT09NykgCgkJICAgIGJyZWFrOyAgICAgICAgICAgICAgLy8gcmVhc29ucyB0byBzdG9wIHJlYWRpbmcgCiAgICAgICAgCiAgICAgICAgZm9yIChhdXRvICZjOmlucHV0KSB7CiAgICAgICAgCWF1dG8gcG9zPW1hcGluLmZpbmQoYyk7IAogICAgICAgIAlpZiAocG9zPT1zdHJpbmc6Om5wb3MpIHsKICAgICAgICAJCWlucHV0X29rPWZhbHNlOyAKICAgICAgICAJCW91dHB1dCArPSAnPyc7CiAgICAgICAgCX0KICAgICAgICAJZWxzZSBvdXRwdXQgKz0gbWFwb3V0W3Bvc107CiAgICAgICAgCWlmIChvdXRwdXQuc2l6ZSgpPT03KQogICAgICAgIAkgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoJaWYgKGlucHV0X29rKSB7CiAgICAgICAgY291dCA8PCBvdXRwdXQuc3Vic3RyKDAsMykgIDsKICAgICAgICBpZiAob3V0cHV0LnNpemUoKT4zKSAKICAgICAgICAJY291dCA8PCAiLSIgPDwgb3V0cHV0LnN1YnN0cigzLDcpIDsKICAgICAgICBjb3V0IDw8IGVuZGwgPDwgZW5kbDsKCX0KCWVsc2UgewogICAgICAgIGNvdXQgPDwgImluY29ycmVjdCBpbnB1dCIgPDwgZW5kbCA8PG91dHB1dDw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9