var memory = []<30>;
function fibonacci(n){
var result;
if(n < 2)
{
result = n;
}
else
{
var index = n - 2;
if(memory[index] != null)
{
result = memory[index];
}
else
{
result = memory[index] = fibonacci(n - 1) + fibonacci(n - 2);
}
}
return result;
}
print(fibonacci(2));
dmFyIG1lbW9yeSA9IFtdPDMwPjsKZnVuY3Rpb24gZmlib25hY2NpKG4pewoJdmFyIHJlc3VsdDsgICAgCglpZihuIDwgMikgICAgCgl7ICAgICAgICAKCQlyZXN1bHQgPSBuOyAKCX0gICAgCgllbHNlICAgIAoJeyAgICAgICAKCQl2YXIgaW5kZXggPSBuIC0gMjsKCQlpZihtZW1vcnlbaW5kZXhdICE9IG51bGwpCgkJeyAgIAoJCQlyZXN1bHQgPSBtZW1vcnlbaW5kZXhdOyAKCQl9CgkJZWxzZSAgCgkJeyAgIAoJCQlyZXN1bHQgPSBtZW1vcnlbaW5kZXhdID0gZmlib25hY2NpKG4gLSAxKSArIGZpYm9uYWNjaShuIC0gMik7ICAgCgkJCQoJCX0gICAgCgkJCgl9ICAgIAoJcmV0dXJuIHJlc3VsdDsKfSAKCnByaW50KGZpYm9uYWNjaSgyKSk7