#include
#include
using namespace std;
char table[][1000] = { “”, “abc”, “def”, “ghi”, “jkl”, “mno”, “pqrs”, “tuv”, “wx”,“yz” };
int count=0;
int generate_symbols (char *inp, char *out, int i, int j)
{
//base
if (inp[i] == ‘\0’)
{
out[j] = ‘\0’;
count++;
cout<<out<<" ";
}
//rec
int digit = inp[i] - '0';
if (digit == 0 )
{
generate_symbols (inp,out, i+1,j);
}
for (int k = 0; table[digit][k] != ‘\0’; k++)
{
out[j] = table[digit][k];
generate_symbols (inp, out, i+1, j+1);
}
return count;
}
int main ()
{
char inp[1000];
cin>>inp;
char out[1000];
int len=generate_symbols(inp, out, 0, 0);
cout<<endl<<len;
return 0;
}