#include <iostream>
using namespace std;

const int kVal = 1e6 + 1;
const int kMax = 105;
int n, lg;
int f[kMax];

int main()
{
	cin >> n;
	
	f[1] = 1;
	f[2] = 2;

	for (lg = 3; f[lg - 2] + f[lg - 1] < kVal; ++lg)
		f[lg] = f[lg - 2] + f[lg - 1];
	--lg;

	cout << lg << '\n';
	for (int i = 1; i <= lg; ++i)
		cout << f[i] << ' ';
	cout << '\n';

	return 0;
}