//求和
import java.util.*;
public class Main_202 {
static ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
static ArrayList<Integer> list = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int n = sc.nextInt();
int m = sc.nextInt();
dfs(1, m, n);
for(ArrayList<Integer> l : res) {
int i = 0;
for(; i < l.size()-1; i++) {
System.out.print(l.get(i) + " ");
}
System.out.println(l.get(i));
}
}
}
public static void dfs(int index, int count, int n) {
if(count == 0) {
res.add(new ArrayList<>(list));
}else {
for(int i = index; i <= count && i <= n; i++) {
list.add(i);
dfs(i+1, count-i, n);
list.remove(list.size()-1);
}
}
}
}
//public class Main_202 {
// public static void main(String[] args) {
// Scanner scanner = new Scanner(System.in);
//
// while (scanner.hasNext()) {
// int num = scanner.nextInt();
// int sum = scanner.nextInt();
//
// }
// }
//}