Дано масив цілих чисел. Побудуйте з них двійкове дерево пошуку. Якщо вставлене значення дорівнює поточній вершині, вставляйте його у праве піддерево.
Реалізуйте метод MaxDepth, який знаходить максимальну глибину дерева. Максимальна глибина — це кількість вершин у найдовшому шляху від кореня до найбільш віддаленого листка.

Напишіть код згідно з наступним інтерфейсом:
// C, C++
class TreeNode
{
public:
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
class Tree
{
public:
TreeNode *head;
Tree() : head(NULL) {};
void Insert(int val); // Вставка числа val у двійкове дерево пошуку
int MaxDepth(void); // Повернути максимальну глибину двійкового дерева пошуку
};// Java
class TreeNode
{
int val;
TreeNode left;
TreeNode right;
TreeNode(int x)
{
val = x;
left = null;
right = null;
}
}
class Tree
{
TreeNode head;
Tree();
void Insert(int val); // Вставка числа val у двійкове дерево пошуку
int maxDepth(); // Повернути максимальну глибину двійкового дерева пошуку
}Можна створювати (використовувати) додаткові методи за потреби.
Перший рядок містить число (1 \leq n \leq 100).Другий рядок містить цілих чисел.
Побудуйте двійкове дерево пошуку з вхідних даних. Знайдіть і виведіть його максимальну глибину.
Приклад 1