#include<bits/stdc++.h>
#include<cmath>
using namespace std;
string s;
long a[1000],b[1000],q,p,c[501];
void HAA()
{
int i,lena,lenb,x,j;
memset(c,0,sizeof(c));
for(i=1;i<=505;i++)
{
for(j=1;j<=505;j++)
{
c[i+j-1]=a[i]*b[j]+c[i+j-1];
}
}
for(int i=1;i<505;i++)
if(c[i]>=10)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
memcpy(b,c,sizeof(b));
}
void HAA2()
{
int i,lena,lenb,x,j;
memset(c,0,sizeof(c));
for(i=1;i<=505;i++)
{
for(j=1;j<=505;j++)
{
c[i+j-1]=a[i]*a[j]+c[i+j-1];
}
}
for(int i=1;i<505;i++)
if(c[i]>=10)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
memcpy(a,c,sizeof(a));
}
void fastPower() {
while (p > 0) {
if (p & 1) {
HAA();
}
p>>= 1;
HAA2();
}
}
int main()
{
int i,sum;
a[1]=2;
b[1]=1;
cin>>p;
q=(int)(log10(2)*p+1);
cout<<q<<endl;
fastPower();
b[1]-=1;
for(i=500;i>=1;i--)
{
if(i%50==0&&i!=500)cout<<endl;
cout<<b[i];
}
}