#include <stdio.h>

int main(){
	int output[103];
	output[0] = 1;
	output[1] = 2;
	int counter = 1;
	int vsota=1;
	int N;	
	scanf("%i", &N);
	if(N==1){
		printf("1\n1");return 0;
	}
	if(N==2){
		printf("2\n1 2"); return 0;
	}

	while(vsota < N){
		vsota+=output[counter];
		counter++;
		output[counter] = vsota;
	}
	
	printf("%i\n", counter);
	for(int i=0; i<counter; i++){
		printf("%i ", output[i]);
	}
	return 0;
}