#include<iostream>
using namespace std;
long long int a[31000005];
int main(){
long long int n,ans=1,sum=0;
cin>>n;
if(n==0){
int adsf=0;
cout<<0<<endl;
for(int i=500;i>=1;i--){
if(adsf==50){
adsf=1;
cout<<endl<<a[i];
}else{
cout<<a[i];
adsf++;
}
}
}
a[1]=1;
for(int i=1;i<=n;++i){
sum=0;
for(int j=1;j<=ans;){
a[j]=a[j]*2+sum;
sum=a[j]/10;
a[j]=a[j]%10;
if(sum!=0&&j==ans){
ans++;
}
j++;
}
}
a[1]--;
cout<<ans<<endl;
int adsf=0;
for(int i=500;i>=1;i--){
if(adsf==50){
adsf=1;
cout<<endl<<a[i];
}else{
cout<<a[i];
adsf++;
}
}
return 0;
}
50分,超时五个点