1. JAVA, Peter Schnitzler

/* Problem : 495
* Status : AC
* Author : Peter Schnitzler
* Runtime 2.63
*/


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.math.BigInteger;
import java.util.LinkedList;

import sun.security.util.BigInt;


public class Main
{

static private short max = 0;
static private BufferedWriter outer = new BufferedWriter(new OutputStreamWriter(System.out));

public static void main(String[] args) throws Exception
{
LinkedList<Short> input = getIn();

BigInteger fibbos[] = new BigInteger[max + 1];
fibbos[0] = new BigInteger("0");
fibbos[1] = new BigInteger("1");

for (int count = 2; count <= max; count++)
{
fibbos[count] = fibbos[count - 1].add(fibbos[count - 2]);
}

for (Short i : input)
{
putOut(fibbos[i], i);
}

outer.close();
}




private static void putOut (BigInteger n, short count) throws Exception
{
StringBuilder sB;

sB = new StringBuilder(1335);
sB.append("The Fibonacci number for ");
sB.append(count);
sB.append(" is ");

sB.append(n);



outer.write(sB.toString());
outer.newLine();
}



private static LinkedList<Short> getIn() throws Exception
{
LinkedList<Short> result = new LinkedList<Short>();

BufferedReader read = new BufferedReader(new InputStreamReader(System.in));

String line = read.readLine();

while (line != null)
{
short temp = Short.parseShort(line.trim());

if (temp > max)
max = temp;

result.add(temp);

line = read.readLine();
}

read.close();
return result;
}

}