input: 
  from typing import Dict
  
  def square_numbers(n: int) -> Dict[int, int]:
      """ Generate a dictionary where the keys are numbers from 1 to n and the values are their squares.
      >>> square_numbers(5)
      {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
      >>> square_numbers(3)
      {1: 1, 2: 4, 3: 9}
      """
  
output:     result = {}
      for i in range(1, n + 1):
          result[i] = i * i
      return result