- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- /* Name of the class has to be "Main" only if the class is public. */ 
- class Ideone 
- { 
- 	{ 
- 		System- . out- . println(- letterCombinations ("23"));
 
- 	} 
-   
- 	private static final String[]-  KEYS  = { ""- ,  ""- ,  "abc"- ,  "def"- ,  "ghi"- ,  "jkl"- ,  "mno"- ,  "pqrs"- ,  "tuv"- ,  "wxyz" };
 
-   
-     	public static-  List <- String >-  letterCombinations (String-  digits ) {
 
-     		List<String> ret = new LinkedList<String>(); 
-     		combination("", digits, 0, ret); 
-     		return ret; 
-     	} 
-   
-     	private static void-  combination (String-  prefix,  String-  digits,  int-  offset, List <- String >-  ret ) {
 
-     		if (offset >= digits.length()) { 
-     			ret.add(prefix); 
-     			return; 
-     		} 
-     		String-  letters  =-  KEYS [(- digits. charAt(- offset ) - '0')];
 
-     		for (int i = 0; i < letters.length(); i++) { 
-     			combination(prefix + letters.charAt(i), digits, offset + 1, ret); 
-     		} 
-     	} 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbihsZXR0ZXJDb21iaW5hdGlvbnMoIjIzIikpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmdbXSBLRVlTID0geyAiIiwgIiIsICJhYmMiLCAiZGVmIiwgImdoaSIsICJqa2wiLCAibW5vIiwgInBxcnMiLCAidHV2IiwgInd4eXoiIH07CiAgICAKICAgIAlwdWJsaWMgc3RhdGljIExpc3Q8U3RyaW5nPiBsZXR0ZXJDb21iaW5hdGlvbnMoU3RyaW5nIGRpZ2l0cykgewogICAgCQlMaXN0PFN0cmluZz4gcmV0ID0gbmV3IExpbmtlZExpc3Q8U3RyaW5nPigpOwogICAgCQljb21iaW5hdGlvbigiIiwgZGlnaXRzLCAwLCByZXQpOwogICAgCQlyZXR1cm4gcmV0OwogICAgCX0KICAgIAogICAgCXByaXZhdGUgc3RhdGljIHZvaWQgY29tYmluYXRpb24oU3RyaW5nIHByZWZpeCwgU3RyaW5nIGRpZ2l0cywgaW50IG9mZnNldCwgTGlzdDxTdHJpbmc+IHJldCkgewogICAgCQlpZiAob2Zmc2V0ID49IGRpZ2l0cy5sZW5ndGgoKSkgewogICAgCQkJcmV0LmFkZChwcmVmaXgpOwogICAgCQkJcmV0dXJuOwogICAgCQl9CiAgICAJCVN0cmluZyBsZXR0ZXJzID0gS0VZU1soZGlnaXRzLmNoYXJBdChvZmZzZXQpIC0gJzAnKV07CiAgICAJCWZvciAoaW50IGkgPSAwOyBpIDwgbGV0dGVycy5sZW5ndGgoKTsgaSsrKSB7CiAgICAJCQljb21iaW5hdGlvbihwcmVmaXggKyBsZXR0ZXJzLmNoYXJBdChpKSwgZGlnaXRzLCBvZmZzZXQgKyAxLCByZXQpOwogICAgCQl9CiAgICAJfQp9
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		[ad, ae, af, bd, be, bf, cd, ce, cf]