/* Aufgabe 3 Prakash Punnoor */

/* Um beliebig große Integer Zahlen zu benutzen */
import java.math.BigInteger;

class Aufgabe3
{
	public static void main ( String[] args )
	{
		if (args.length == 0) {
			System.out.println("Bitte Parameter n für F_n angeben");
			return;
		}

		Integer n = new Integer(args[0]);
		
		System.out.println(Fib(n.intValue()));
		
		return;
	}
	
	/* "Rekursive" Variante */
	public static String Fib(int n)
	{
		BigInteger f1 = BigInteger.ONE;
		BigInteger f2 = BigInteger.ONE;
		BigInteger result = BigInteger.ONE; //Java meckert sonst

		/* Für n <= 2 gibt's nichts zu tun, also raus */
		if (n <= 2) 
			return "1";

		/* Die ersten 2 Werte liegen vor */
		n -= 2;

		/* Diese Schleife entspricht fast 1:1 Rekursionsvorschrift */
		for (int i = 0; i < n; ++i) {
			result = f1.add(f2);
			f1 = f2;
			f2 = result;
		}
		
		return result.toString();
	}
}