






from __future__ import annotations




class 							_lowerCAmelCase:





       """simple docstring"""







       def __init__(   self    ,     _lowerCamelCase				):
         UpperCamelCase_:   Optional[Any]        =							data
         UpperCamelCase_:   Node | None        =							None
         UpperCamelCase_:   Node | None        =							None







def     snake_case   (UpperCAmelCase__    )			->							None:  # In Order traversal of the tree
  if tree:
    display(tree.left    )
    print(tree.data    )
    display(tree.right    )

def     snake_case   (UpperCAmelCase__    )			->							int:
  return 1 + max(depth_of_tree(tree.left    )      ,       depth_of_tree(tree.right    )    ) if tree else 0

def     snake_case   (UpperCAmelCase__    )			->							bool:
  if not tree:
    return True
  if tree.left and tree.right:
    return is_full_binary_tree(tree.left    ) and is_full_binary_tree(tree.right    )
  else:
    return not tree.left and not tree.right

def     snake_case   ()			->							None:  # Main function for testing.
  UpperCamelCase_:   str        =							Node(1    )
  UpperCamelCase_:   Dict        =							Node(2    )
  UpperCamelCase_:   Tuple        =							Node(3    )
  UpperCamelCase_:   Tuple        =							Node(4    )
  UpperCamelCase_:   Any        =							Node(5    )
  UpperCamelCase_:   Union[str, Any]        =							Node(6    )
  UpperCamelCase_:   str        =							Node(7    )
  UpperCamelCase_:   Union[str, Any]        =							Node(8    )
  UpperCamelCase_:   Dict        =							Node(9    )

  print(is_full_binary_tree(UpperCAmelCase__    )    )
  print(depth_of_tree(UpperCAmelCase__    )    )
  print('Tree is: '    )
  display(UpperCAmelCase__    )


if __name__ == "__main__":
   main()


def 							_lowerCamelCase   (			SCREAMING_SNAKE_CASE = 1000   ):
      '''simple docstring'''







      return sum(2 * a * ((a - 1) // 2) for a in range(3		,				n + 1   )   )


if __name__ == "__main__":
      print(solution())





