import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n < 10 || n > 30) {
System.out.println(0);
}else {
n -= 10;
ArrayList<ArrayList<Integer>> al2= new ArrayList<>();
ArrayList<Integer> al1= new ArrayList<>();
for(int i = 0;i <= 9;i++) {
al1.add(1);
}
method(0,n,al1,al2);
System.out.println(al2.size());
for(int i = al2.size() - 1;i >= 0;i--) {
for(int j = 0;j < 10;j++) {
if(j == 9) {
System.out.print(al2.get(i).get(j));
}else {
System.out.print(al2.get(i).get(j) + " ");
}
}
System.out.println();
}
}
}
public static void method(int n ,int val,ArrayList<Integer> al,ArrayList<ArrayList<Integer>> al2) {
if(val == 0) {
al2.add(new ArrayList<Integer>(al));
return;
}
for(int i = 0;i <= 9;i++) {
if(val > 0 && al.get(i) < 3) {
al.set(i, al.get(i) + 1);
val--;
method(n + 1, val, al,al2);
al.set(i, al.get(i) - 1);
val++;
}
}
}
}