← Home
#include<bits/stdc++.h>

using namespace std;

string a[220000];

int n,maxx[220000],i,j,l,r,k,o,x;

int main(){

	scanf("%d",&n);

	l=r=k=1;

	maxx[1]=1;

	a[1]="0";

	for(i=2;i<=n;++i){

		o=0;

		for(j=l;j<=r;++j){

			a[++k]=a[j]+char(o+48); maxx[k]=max(o+1,maxx[j]);

			for(x=2;x<=maxx[j];++x){

				a[++k]=a[j]+char(x+48);

				maxx[k]=max(maxx[j],x+1);

			}

			a[++k]=a[j]+char(1-o+48); maxx[k]=max(2-o,maxx[j]);

			o=1-o;

		}

		l=r+1; r=k;

	}

	printf("%d\n",r-l+1);

	for(i=l;i<=r;++i){

		for(j=0;j<maxx[i];++j){

			printf("{");

			bool flag=0;

			for(k=0;k<n;++k)if(a[i][k]-48==j){

				if(flag)printf(",");

				flag=1;

				printf("%d",k+1);

			}

			printf("}%c",j==maxx[i]-1?'\n':',');

		}

	}

}