3
int numTriplets(vector<int> &nums1, vector<int> &nums2) {4
unordered_map<long, int> m1, m2;5
for (int i : nums1) m1[(long long)i * i]++;6
for (int i : nums2) m2[(long long)i * i]++;10
for (int i = 0; i < nums2.size() - 1; i++) {11
for (int j = i + 1; j < nums2.size(); j++) {12
if (m1[(long long)nums2[i] * nums2[j]]) {13
ans += m1[(long long)nums2[i] * nums2[j]];17
for (int i = 0; i < nums1.size() - 1; i++) {18
for (int j = i + 1; j < nums1.size(); j++) {19
if (m2[(long long)nums1[i] * nums1[j]]) {20
ans += m2[(long long)nums1[i] * nums1[j]];