import java.util.ArrayList;
class PowerSet
{
public static ArrayList<String> getpowerset(int a[],int n,ArrayList<String> ps)
{
if(n<0)
{
return null;
}
if(n==0)
{
if(ps==null)
ps.add(" ");
return ps;
}
ps=getpowerset(a, n-1, ps);
ArrayList<String> tmp=new ArrayList<String>();
{
if(s.equals(" "))
tmp.add(""+a[n-1]);
else
tmp.add(s+a[n-1]);
}
ps.addAll(tmp);
return ps;
}
public static void main
(String[] ar
) {
int a[]={1,2,3,4};
int n=a.length;
ArrayList<String> subset=PowerSet.getpowerset(a, n, new ArrayList<String>());
System.
out.
println("{"+s
+"}"); }
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmNsYXNzIFBvd2VyU2V0CnsKICAgIHB1YmxpYyBzdGF0aWMgQXJyYXlMaXN0PFN0cmluZz4gZ2V0cG93ZXJzZXQoaW50IGFbXSxpbnQgbixBcnJheUxpc3Q8U3RyaW5nPiBwcykKICAgIHsKICAgICAgICBpZihuPDApCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICAgICAgaWYobj09MCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKHBzPT1udWxsKQogICAgICAgICAgICAgICAgcHM9bmV3IEFycmF5TGlzdCgpOwogICAgICAgICAgICBwcy5hZGQoIiAiKTsKICAgICAgICAgICAgcmV0dXJuIHBzOwogICAgICAgIH0KICAgICAgICBwcz1nZXRwb3dlcnNldChhLCBuLTEsIHBzKTsKICAgICAgICBBcnJheUxpc3Q8U3RyaW5nPiB0bXA9bmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CiAgICAgICAgZm9yKFN0cmluZyBzOnBzKQogICAgICAgIHsKICAgICAgICAgICAgaWYocy5lcXVhbHMoIiAiKSkKICAgICAgICAgICAgICAgIHRtcC5hZGQoIiIrYVtuLTFdKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgdG1wLmFkZChzK2Fbbi0xXSk7CiAgICAgICAgfQogICAgICAgIHBzLmFkZEFsbCh0bXApOwogICAgICAgIHJldHVybiBwczsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyKQogICAgewogICAgCWludCBhW109ezEsMiwzLDR9OwogICAgICAgIGludCBuPWEubGVuZ3RoOwogICAgICAgIEFycmF5TGlzdDxTdHJpbmc+IHN1YnNldD1Qb3dlclNldC5nZXRwb3dlcnNldChhLCBuLCBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKSk7CiAgICAgICAgCiAgICAgICAgZm9yKFN0cmluZyBzOnN1YnNldCkKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJ7IitzKyJ9Iik7CiAgICB9Cn0K