/#include <stdio.h>
//
//int n, k, d[1010];
//
//int upper_bound(int k)
//{
// int i;
// for(i=1;i<=n;i++)
// {
// if(d[i]>k)
// {
// return i;
// }
// else if(i==n)
// {
// return n+1;
// }
// }
//
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d", &k);
//
// printf("%d\n", upper_bound(k));
//}
/*
#include <stdio.h>
int n;
long long int d[110];
long long int f()
{
int i;
long long int min=d[1];
for(i=1; i<=n; i++)
{
if(d[i]<min)
{
min=d[i];
}
}
return min;
}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%lld", &d[i]);
printf("%lld", f());
return 0;
}
*/
//
//#include <stdio.h>
//
//int n;
//int zero(int k)
//{
// return !k;
//}
//int plus(int k)
//{
// if(k>0)
// return 1;
// else
// return 0;
//}
//
//int main()
//{
// scanf("%d", &n);
// if(zero(n)) printf("zero");
// else printf("%s", plus(n)?"plus":"minus");
// return 0;
//}
//#include <stdio.h>
//
//long long int n;
//
//long long int abs(long long int n)
//{
// if(n<0)
// return n*-1;
// else
// return n;
//}
//int main()
//{
// scanf("%lld", &n);
// printf("%lld\n", abs(n));
// return 0;
//}
//#include <stdio.h>
//
//long long int n;
//
//int sqrt(long long int n)
//{
// int i;
// for(i=1;i<=n;i++)
// {
//
// }
//}
//int main()
//{
// scanf("%lld", &n);
// printf("%d\n", sqrt(n));
// return 0;
//}
//#include<stdio.h>
//
//void f(int n)
//{
// if(n==0) return ;
// f(n-1);
// printf("%d\n",n);
//
//}
//int main()
//{
// int n;
// scanf("%d", &n);
// f(n);
// return 0;
//}
//#include<stdio.h>
//int n;
//
//void f(int n)
//{
// if(n==0) return ;
// printf("%d\n",n);
// f(n-1);
//
//
//}
//int main()
//{
// int n;
// scanf("%d", &n);
// f(n);
// return 0;
//}
//#include<stdio.h>
//int n, b;
//
//void f(int n, int b)
//{
// if(n-1==b) return ;
// f(n, b-1);
// if(b%2==1)
// {
// printf("%d ",b);
// }
//
//
//}
//int main()
//{
// int n;
// scanf("%d %d", &n, &b);
// f(n, b);
// return 0;
//}
//#include<stdio.h>
//int sum=0, n;
//int f(int n)
//{
//
// if(n==0)
// {
// printf("%d", sum);
// return;
// }
// sum+=n;
// f(n-1);
//
//}
//int main()
//{
//
// scanf("%d", &n);
// f(n);
// return 0;
//}
//#include<stdio.h>
//int n, sum=1;
//void f (int n)
//{
// if(n==0)
// {
// printf("%d", sum);
// return;
// }
//
// sum*=n;
// f(n-1);
//
//}
//int main()
//{
// scanf("%d", &n);
// f(n);
// return 0;
//}
int arr[203]= {1,1,1}, n, i;
void f(int n)
{
if(n==2||n==1)
return;
f(n-1);
arr[n]=arr[n-1]+arr[n-2];
}
int main()
{
scanf("%d", &n);
i=n;
f(n);
for(i=1;i<=n;i++)
printf("%d ", arr[i]);
return 0;
}
240