import java.util.Scanner;
public class 斐波那契 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n = sc.nextInt();
System.out.println(fangfa1(n));
System.out.println(fangfa2(n));
System.out.println(fangfa3(n));
}
private static int fangfa3(int n) {
if(n==0) {
return 0;
}
if(n==1) {
return 1;
}
int i=0,j=1;
int sum=0;
for (int j2 = 2; j2 <=n; j2++) {
sum=i+j;
i=j;
j=sum;
}
return sum;
}
private static int fangfa2(int n) {
int sum[]=new int[n+1];
if(n==0) {
return 0;
}
if(n==1) {
return 1;
}
if(sum[n]!=0) {
return sum[n];
}
sum[n]=fangfa2(n-1)+fangfa2(n-2);
return sum[n];
}
private static int fangfa1(int n) {
if(n==0) {
return 0;
}
if(n==1) {
return 1;
}
return fangfa1(n-1)+fangfa1(n-2);
}
}