1class Solution {2public:3int tupleSameProduct(vector<int> &nums) {4int n = nums.size();5unordered_map<int, int> map;6int res = 0;7for (int i = 0; i < n; i++) {8for (int j = i + 1; j < n; j++) {9int prod = nums[i] * nums[j];10map[prod]++; // store product of each possible pair11}12}13for (pair<int, int> m : map) {14int n = m.second;15res += (n * (n - 1)) / 2; // no. of tuple16}17return res * 8; // Every tuple has 8 permutations18}19};