input: from typing import List
  
  def Fibonacci(n: int, memo: List[int] = None) -> int:
      """
      Generate a list of first n Fibonacci numbers.
      >>> Fibonacci(5)
      [0, 1, 1, 2, 3]
      >>> Fibonacci(10)
      [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
      """
      if memo is None:
          memo = [-1] * (n + 1)
      
      if n == 1:
          return [0]
      elif n == 2:
          return [0, 1]
      
      memo[0], memo[1] = 0, 1
      
      for i in range(2, n):
          memo[i] = memo[i - 1] + memo[i - 2]
      
      return memo[:n]
output:     if memo[n - 1] == -1:
          memo[n - 1] = Fibonacci(n - 1, memo) + Fibonacci(n - 2, memo)
      return memo[n - 1]