procedure main() every write( fibonacci( (0 to 10) | 300) ) end procedure fibonacci(n) static fib initial { fib := table() fib[0] := 0 fib[1] := 1 } return \fib[n] | ( fib[n] := fibonacci(n-1) + fibonacci(n-2) ) end