class Test {
public static String func(int num) {
return func("",num);
}
public static String func(String prev, int num) {
StringBuffer buf = new StringBuffer();
buf.append(((prev.length()== 0)?"":prev+" ")+num+"\n");
for(int i = num-1; i >= 1; i--)
buf.append(func(((prev.length()== 0)?"":prev+" ")+i,num-i));
return buf.toString();
} public static void main(String args[]) {
System.out.println(func(5));
}
}
public static String func(int num) {
return func("",num);
}
public static String func(String prev, int num) {
StringBuffer buf = new StringBuffer();
buf.append(((prev.length()== 0)?"":prev+" ")+num+"\n");
for(int i = num-1; i >= 1; i--)
buf.append(func(((prev.length()== 0)?"":prev+" ")+i,num-i));
return buf.toString();
} public static void main(String args[]) {
System.out.println(func(5));
}
}
return func("",num,num);
} public static String func(String prev,int max, int num) {
StringBuffer buf = new StringBuffer();
if(max>= num)
buf.append(((prev.length()== 0)?"":prev+" ")+num+"\n");
for(int i = num-1; i >= 1; i--)
if(max >= i)
buf.append(func(((prev.length()== 0)?"":prev+" ")+i,i,num-i));
return buf.toString();
}