public static int fib(int n, ArrayList arr){
if(arr.size() > n){
return arr.get(n);
}
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
int n2 = fib(n-2, arr);
arr[n-2] = n2;
int n1 = fib(n-1,arr);
return n1+n2;
}