F=[];
fib(n)={
if(n>#F,
F=concat(F, vector(n-#F));
F[n]=fib(n-1)+fib(n-2)
,
if(n<2,
n
if(F[n],F[n],F[n]=fib(n-1)+fib(n-2))
)
);
}