Hard Way to solve, but constraints are small
IntuitionНужно посчитать тройки, где квадрат одного элемента из одного массива равен произведению двух элементов из другого. Это условие проверяется по всем воз
### Intuition
Нужно посчитать тройки, где квадрат одного элемента из одного массива равен произведению двух элементов из другого. Это условие проверяется по всем возможным парам.

### Approach
1. Посчитаем частоты квадратов всех элементов `nums1` и `nums2` (храним в словарях).
2. Для всех пар в `nums2`, проверим, есть ли их произведение среди квадратов `nums1` — это Type 1.
3. Для всех пар в `nums1`, проверим, есть ли их произведение среди квадратов `nums2` — это Type 2.
4. Сложим количество подходящих троек из обоих типов.

### Complexity
- **Time complexity**: $$O(n_1^2 + n_2^2)$$, где \( n_1 \) и \( n_2 \) — длины массивов `nums1` и `nums2`.
- **Space complexity**: $$O(n_1 + n_2)$$ — для хранения словарей с квадратами.


# Code
```python3 []
class Solution:
    def numTriplets(self, nums1: list[int], nums2: list[int]) -> int:
        n1 = len(nums1)
        n2 = len(nums2)

        nums1_freq = {}
        nums2_freq = {}

        for i in range(n1):
            square = nums1[i] * nums1[i]
            if square in nums1_freq:
                nums1_freq[square] += 1
            else:
                nums1_freq[square] = 1

        for i in range(n2):
            square = nums2[i] * nums2[i]
            if square in nums2_freq:
                nums2_freq[square] += 1
            else:
                nums2_freq[square] = 1

        # print(nums1_freq, nums2_freq)
        ans = 0

        for i in range(n1):
            for j in range(i + 1, n1):
                val = nums1[i] * nums1[j]
                if val in nums2_freq:
                    ans += nums2_freq[val]

        for i in range(n2):
            for j in range(i + 1, n2):
                val = nums2[i] * nums2[j]
                if val in nums1_freq:
                    ans += nums1_freq[val]


        return ans

# print(Solution().numTriplets(nums1 = [7,7,8,3], nums2 = [1,2,9,7]))
```
['Array', 'Hash Table', 'Math', 'Python3']