input: def dropLeafNodes(head):
      """
      This function takes a Huffman tree and removes all its leaf nodes.
      A Huffman tree is a binary tree where each leaf node represents a character and its frequency.
      If the node is not None and does not have any children, it is considered a leaf node.
      The function recursively removes such nodes from the tree.
      
      Example:
      Consider the following Huffman tree:
          (1)
         /   \
       (2)   (3)
       / \   / \
     (4) (5) (6) (7)
      
      After calling dropLeafNodes(head), the tree should look like this:
          (1)
         /   \
       (2)   (3)
       
      >>> class TreeNode:
      ...     def __init__(self, value=0, left=None, right=None):
      ...         self.value = value
      ...         self.left = left
      ...         self.right = right
      ...
      >>> root = TreeNode(1, TreeNode(2, TreeNode(4), TreeNode(5)), TreeNode(3, TreeNode(6), TreeNode(7)))
      >>> dropLeafNodes(root)
      >>> root.value
      1
      >>> root.left.value
      2
      >>> root.right.value
      3
      """
output:     if head is None:
          return None
      
      if head.left is None and head.right is None:
          return None
      
      head.left = dropLeafNodes(head.left)
      head.right = dropLeafNodes(head.right)
      
      return head