package RecursionChallenges;
import java.util.ArrayList;
import java.util.Scanner;
public class SmartKeyboard {
static String[] sr= {"",".+@$",“abc”,“def”,“ghi”,“jkl”,“mno”,“pqrs”,“tuv”,“wxyz”};
public static ArrayList<String> smartkey(String str){
if(str.length()==0) {
ArrayList<String> bres=new ArrayList<String>();
bres.add("");
return bres;
}
char ch=str.charAt(0);
String ros=str.substring(1);
ArrayList<String> rr=smartkey(ros);
ArrayList<String> mr=new ArrayList<String>();
String code=sr[ch-'0'];
for(int i=0;i<code.length();i++) {
char chi=code.charAt(i);
for(String rstr:rr) {
mr.add(chi+rstr);
}
}
return mr;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
String str=sc.next();
ArrayList<String> arrlist=smartkey(str);
for (int i = 0; i < arrlist.size();i++)
{
System.out.println(arrlist.get(i));
}
}
}