rt
#include<bits/stdc++.h>
using namespace std;
string s[]={"1\n1 \n","3\n1 0 \n1 2 \n","7\n1 0 0 \n1 2 0 \n1 2 4 \n1 4 2 \n","13\n1 0 0 0 \n1 2 0 0 \n1 2 4 0 \n1 4 2 0 \n1 2 6 4 \n1 3 2 7 \n1 4 6 2 \n1 7 2 3 \n","21\n1 0 0 0 0 \n1 2 0 0 0 \n1 2 4 0 0 \n1 4 2 0 0 \n1 2 6 4 0 \n1 3 2 7 0 \n1 4 6 2 0 \n1 7 2 3 0 \n1 3 10 2 5 \n1 5 2 10 3 \n","31\n1 0 0 0 0 0 \n1 2 0 0 0 0 \n1 2 4 0 0 0 \n1 4 2 0 0 0 \n1 2 6 4 0 0 \n1 3 2 7 0 0 \n1 4 6 2 0 0 \n1 7 2 3 0 0 \n1 3 10 2 5 0 \n1 5 2 10 3 0 \n1 2 5 4 6 13 \n1 2 7 4 12 5 \n1 3 2 7 8 10 \n1 3 6 2 5 14 \n1 5 12 4 7 2 \n1 7 3 2 4 14 \n1 10 8 7 2 3 \n1 13 6 4 5 2 \n1 14 4 2 3 7 \n1 14 5 2 6 3 \n","43\n1 0 0 0 0 0 0 \n1 2 0 0 0 0 0 \n1 2 4 0 0 0 0 \n1 4 2 0 0 0 0 \n1 2 6 4 0 0 0 \n1 3 2 7 0 0 0 \n1 4 6 2 0 0 0 \n1 7 2 3 0 0 0 \n1 3 10 2 5 0 0 \n1 5 2 10 3 0 0 \n1 2 5 4 6 13 0 \n1 2 7 4 12 5 0 \n1 3 2 7 8 10 0 \n1 3 6 2 5 14 0 \n1 5 12 4 7 2 0 \n1 7 3 2 4 14 0 \n1 10 8 7 2 3 0 \n1 13 6 4 5 2 0 \n1 14 4 2 3 7 0 \n1 14 5 2 6 3 0 \n","57\n1 2 10 19 4 7 9 5\n1 3 5 11 2 12 17 6\n1 3 8 2 16 7 15 5\n1 4 2 10 18 3 11 8\n1 4 22 7 3 6 2 12\n1 5 9 7 4 19 10 2\n1 5 15 7 16 2 8 3\n1 6 12 4 21 3 2 8\n1 6 17 12 2 11 5 3\n1 8 2 3 21 4 12 6\n1 8 11 3 18 10 2 4\n1 12 2 6 3 7 22 4\n"};
int n;
int main(){
cin>>n;
cout<<s[n-1];
return 0;
}