input: Write a function to implement a hash table in Python that supports insert, delete, and retrieve operations. If the given key is not found during retrieval, raise a KeyError.
  assert insert(hash_table, "a", 1)
  assert insert(hash_table, "b", 2)
  assert retrieve(hash_table, "a") == 1
  assert retrieve(hash_table, "b") == 2
  assert insert(hash_table, "a", 3)
  assert retrieve(hash_table, "a") == 3
  try:
      retrieve(hash_table, "c")
      assert False, "Expected KeyError"
  except KeyError:
      pass
  assert delete(hash_table, "b")
  try:
      retrieve(hash_table, "b")
      assert False, "Expected KeyError"
  except KeyError:
      pass
output: def insert(hash_table, key, value):
      hash_table[key] = value
      return True
  
  def delete(hash_table, key):
      if key in hash_table:
          del hash_table[key]
          return True
      return False
  
  def retrieve(hash_table, key):
      if key in hash_table:
          return hash_table[key]
      raise KeyError(key)