func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1000000007;   const double PI = acos(-1.0);   const double epsilon = PI / 180.0;   long long powmod(long long a, long long b) {     long long res = 1;     a %= mod;     assert(b >= 0);     for (; b; b >>= 1) {       if (b & 1) res = res * a % mod;       a = a * a % mod;     }     return res;   }   long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }   const int N = 3e3 + 10, M = 1e6 + 10;   int n;   int a[N];   long long num[N][N], f[N][N];   int main() {     int _;     cin >> _;     while (_--) {       memset(num, 0, sizeof num);       memset(f, 0, sizeof f);       cin >> n;       for (int i = 1; i < n + 1; i++) cin >> a[i];       for (int i = 1; i < n + 1; i++) {         for (int j = n + 1 - 1; j >= i + 1; j--) {           num[i][j] = num[i][j + 1];           if (a[i] == a[j]) num[i][j]++;         }       }       for (int k = 1; k < n + 1; k++) {         for (int i = 1; i < k + 1; i++) {           f[i][k] = f[i - 1][k] + num[i][k + 1];         }       }       long long ans = 0;       for (int i = 1; i < n + 1; i++) {         for (int j = i + 1; j < n + 1; j++) {           if (a[i] != a[j]) continue;           ans += (f[j - 1][j] - f[i][j]);         }       }       cout << ans <<   n ;     }     return 0;   }   