arguments [def fib( )arguments append(nif = return elif = return elsereturn fib( - fib( - [fib(ifor in range( )print( [ in [ ]counts {iarguments count(ifor in range(max(arguments)+ )counts out[ ]{ in [ ]sum(counts values()out[ ] memoization in computingmemoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again sourcein [ ]memoization for fibonacci fibonacci memo { : : arguments [def fib( )arguments append(nif not in memomemo[nfib( - fib( - return memo[ [fib(ifor in range( )out[ ][ in [ ]counts {iarguments count(ifor in range(max(arguments)+ )counts out[ ]{