import java.math.BigInteger; public class BigFastFib { static BigInteger[] done = new BigInteger[5001]; public static BigInteger f(int n) { if (n <= 1) return BigInteger.ONE; if (done[n] == null) done[n] = f(n-1).add(f(n-2)); return done[n]; } public static void main(String[] args) { int n = new Integer(args[0]); System.out.println("The " + n + "th fibonacci is " + f(n)); } }