Задано два масиви цілих чисел. Необхідно створити з них два Бінарних Дерева Пошуку. Якщо вставлюване значення дорівнює поточній вершині, його слід вставляти в праве піддерево.
Реалізуйте метод IsSameTree, який перевіряє, чи є дерева однаковими. Два бінарних дерева вважаються однаковими, якщо їхні структури ідентичні, а значення у відповідних вершинах збігаються.

Напишіть код згідно з наступним інтерфейсом:
// 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 IsSameTree(Tree *p); // Повернути 1, якщо поточне дерево дорівнює p, інакше повернути 0
};// 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 IsSameTree(Tree p); // Повернути 1, якщо поточне дерево дорівнює p, інакше повернути 0
}Ви можете створювати (використовувати) додаткові методи за необхідністю.
Перша строка містить число (1 \le n \le 100). Друга строка містить цілих чисел.
Третя строка містить число (1 \le m \le 100). Четверта строка містить цілих чисел.
Створіть два Бінарних Дерева Пошуку з вхідних даних. Виведіть 1, якщо вони однакові, і 0 в іншому випадку.
Приклад 1