#include<iostream>
#include<cmath>
using namespace std;
long long a[129], n, sum = 0;
int main()
{
int i ;
cin >> n;
cout << floor(log(2) / log(10) * n + 1) << endl;
a[1] = 1;
for (i = 0 ; i <= n - 40 ; i = i + 40)
{
for (int j = 1 ; j <= 125 ; j++)
if (a[j] != 0)
a[j] = a[j] * 1099511627776;
for (int j = 1 ; j <= 125 ; j++)
if (a[j] > 9999)
{
//进位……
a[j + 1] = a[j + 1] + a[j] / 10000,
a[j] = a[j] % 10000;
}
}
for ( ; i < n ; i++)
{
for (int j = 1 ; j <= 125 ; j++)
if (a[j] != 0)
a[j] = a[j] * 2;
for (int j = 1 ; j <= 125 ; j++)
if (a[j] > 9999)
{
a[j + 1] = a[j + 1] + a[j] / 10000,
a[j] = a[j] % 10000;
}
}
for (i = 125 ; i > 1 ; i--)
{
cout << a[i] / 1000 << a[i] / 100 % 10;
sum = sum + 2;
if (sum == 50)
{
cout << endl;
sum = 0;
}
cout << a[i] / 10 % 10 << a[i] % 10;
sum = sum + 2;
if (sum == 50)
{
cout << endl;
sum = 0;
}
}
cout << a[1] / 1000 << a[1] / 100 % 10 << a[1] / 10 % 10 << a[1] % 10 - 1;
return 0;
}