#include <cstdio>
using namespace std;
FILE* fin=freopen("date.in","r",stdin);
FILE* fout=freopen("date.out","w",stdout);
int n;
long long int fib[101];
int main()
{
    int i,j,sum=0;;
    scanf("%d",&n);
    fib[1]=1;
    fib[2]=2;
    if (n==1)
    {
        printf("1\n1 ");
        return 0;
    }
    if (n==2)
    {
        printf("2\n1 2 ");
        return 0;
    }
    sum=3;
    for (i=3; ; i++)
    {
        fib[i]=fib[i-1]+fib[i-2];
        sum+=fib[i];
        if (sum>=n) break;
    }
    printf("%d\n",i);
    for (j=1; j<=i; j++)
        printf("%lld ",fib[j]);
    return 0;
}