input: def findMaxValue(dict):
      """
      Given a nested dictionary, the function recursively finds the maximum value in the dictionary.
      >>> findMaxValue({})
      None
      >>> findMaxValue({"key1": 10, "key2": 20})
      20
      >>> findMaxValue({
          "key1": {
              "value1": 10,
              "value2": 20
          },
          "key2": {
              "value3": 40
          },
      })
      40
      """
      max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val
output:     max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val