input: from typing import List
  
  def generate_random_array(low: int, high: int, size: List[int]) -> np.ndarray:
      """ Generate a 2D array of random integers with a given size, ranging from
      low to high.
      For example:
      >>> generate_random_array(1, 6, [3, 3])
      array([[4, 2, 5],
             [1, 3, 2],
             [5, 4, 1]])
      """
output:     import numpy as np
      return np.random.randint(low, high + 1, size)