import java.util.Scanner;
public class Test1
{
public static long Fibonacii1(int n)//递归算法
{
if (n == 0 || n == 1)
{
return 1;
}
if (n > 1)
{
return Fibonacii1(n - 1) + Fibonacii1(n - 2);
}
return -1;
}
public static long Fibonacii2(int n)//非递归算法
{
long first = 0;
long second = 1;
long third = 0;
for (int i = 0; i < n; i++)//循环n次
{//fibonacii数列为1、1、2、3、5、8、13、21、34、……
third = first + second;
first = second;
second = third;
//顺序不可颠倒
}
return third;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int N = in.nextInt();
System.out.println(Fibonacii1(N));
System.out.println(Fibonacii2(N));
}
}