/* 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
{
{
ArrayList<String> list = permutations("abcd");
}
static ArrayList
<String
> permutations
(String s
) { ArrayList<String> ret = new ArrayList<String>();
permutation(s.toCharArray(), 0, ret);
return ret;
}
public static void permutation(char[] arr, int pos, ArrayList<String> list){
if(arr.length - pos == 1)
else
for(int i = pos; i < arr.length; i++){
swap(arr, pos, i);
permutation(arr, pos+1,list);
swap(arr, pos, i);
}
}
public static void swap(char[] arr, int pos1, int pos2){
char h = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = h;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUFycmF5TGlzdDxTdHJpbmc+IGxpc3QgPSBwZXJtdXRhdGlvbnMoImFiY2QiKTsKCQlmb3IoU3RyaW5nIHMgOiBsaXN0KQoJCVN5c3RlbS5vdXQucHJpbnRsbihzKTsKCX0KCQoJc3RhdGljIEFycmF5TGlzdDxTdHJpbmc+IHBlcm11dGF0aW9ucyhTdHJpbmcgcykgewogICAgQXJyYXlMaXN0PFN0cmluZz4gcmV0ID0gbmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CiAgICBwZXJtdXRhdGlvbihzLnRvQ2hhckFycmF5KCksIDAsIHJldCk7CiAgICByZXR1cm4gcmV0Owp9CgpwdWJsaWMgc3RhdGljIHZvaWQgcGVybXV0YXRpb24oY2hhcltdIGFyciwgaW50IHBvcywgQXJyYXlMaXN0PFN0cmluZz4gbGlzdCl7CiAgICBpZihhcnIubGVuZ3RoIC0gcG9zID09IDEpCiAgICAgICAgbGlzdC5hZGQobmV3IFN0cmluZyhhcnIpKTsKICAgIGVsc2UKICAgICAgICBmb3IoaW50IGkgPSBwb3M7IGkgPCBhcnIubGVuZ3RoOyBpKyspewogICAgICAgICAgICBzd2FwKGFyciwgcG9zLCBpKTsKICAgICAgICAgICAgcGVybXV0YXRpb24oYXJyLCBwb3MrMSxsaXN0KTsKICAgICAgICAgICAgc3dhcChhcnIsIHBvcywgaSk7CiAgICAgICAgfQp9CgpwdWJsaWMgc3RhdGljIHZvaWQgc3dhcChjaGFyW10gYXJyLCBpbnQgcG9zMSwgaW50IHBvczIpewogICAgY2hhciBoID0gYXJyW3BvczFdOwogICAgYXJyW3BvczFdID0gYXJyW3BvczJdOwogICAgYXJyW3BvczJdID0gaDsKfQp9