import java.math.BigInteger;
import java.util.Scanner;
/*
* 大数运算
* 走阶梯:一次只能走一阶或者两阶,一共有N个阶梯(0<N<=100)
* 问题:一共有多少个走法?
* 操作:输入N个阶梯,输出sum种方法
*/
public class Main1 {
static Scanner sc = new Scanner(System.in);
static int N = sc.nextInt();
static BigInteger[] A = new BigInteger[10001];
public static void main(String[] args) {
// double startTime = System.currentTimeMillis();
// System.out.println(startTime);
f();
// double endTime = System.currentTimeMillis();
// System.out.println(endTime);
// System.out.println(endTime-startTime);
// System.out.println(java.util.Arrays.deepToString(A));
}
public static void f() {
A[1] = BigInteger.ONE;
A[2] = BigInteger.ONE;
for(int i=3;i<=N;i++) {
A[i] = A[i-1].add(A[i-2]);
}
System.out.println(A[N]);
}
}