program fibo2; var buffer: array[ 0 .. 500 ] of longint; function fib( cislo: integer ) : longint; begin if buffer[ cislo ] = -1 then begin buffer[ cislo ] := fib( cislo - 1 ) + fib( cislo - 2 ); end; fib := buffer[ cislo ]; end; var i: integer; begin for i := 2 to 500 do buffer[ i ] := -1; buffer[ 0 ] := 0; buffer[ 1 ] := 1; writeln( fib( 500 ) ); end.