func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( O3 )   #pragma GCC target( sse4 )   using namespace std;   template <typename T>   void etch(T V) {     for (auto x : V) cout << x <<    ;     cout <<   n ;   }   vector<string> vec_splitter(string s) {     s +=  , ;     vector<string> res;     while (!s.empty()) {       res.push_back(s.substr(0, s.find( , )));       s = s.substr(s.find( , ) + 1);     }     return res;   }   void debug_out(vector<string> __attribute__((unused)) args,                  __attribute__((unused)) long long int idx,                  __attribute__((unused)) long long int LINE_NUM) {     cerr << endl;   }   template <typename Head, typename... Tail>   void debug_out(vector<string> args, long long int idx, long long int LINE_NUM,                  Head H, Tail... T) {     if (idx > 0)       cerr <<  ,  ;     else       cerr <<  Line(  << LINE_NUM <<  )  ;     stringstream ss;     ss << H;     cerr << args[idx] <<   =   << ss.str();     debug_out(args, idx + 1, LINE_NUM, T...);   }   const long long int MOD = 1e9 + 7;   const long long int MOD1 = 998244353;   const long long int N = 2e5 + 5;   const long long int INF = 1000111000111000111LL;   const long double EPS = 1e-12;   const long double PI = 3.141592653589793116;   long long int d[3005][3005], p[3005][3005];   void solve() {     long long int n;     cin >> n;     long long int a[n + 5];     for (long long int i = 1; i <= n; i++) cin >> a[i];     for (long long int i = 0; i <= n + 2; i++) {       for (long long int j = 0; j <= n + 2; j++) {         d[i][j] = p[i][j] = 0;       }     }     for (long long int i = 1; i <= n; i++) {       d[i][a[i]]++;       for (long long int j = 0; j <= n; j++) {         d[i][j] += d[i - 1][j];       }     }     for (long long int i = n; i >= 1; i--) {       p[i][a[i]]++;       for (long long int j = 0; j <= n; j++) {         p[i][j] += p[i + 1][j];       }     }     long long int ans = 0;     for (long long int i = 1; i <= n; i++) {       for (long long int j = i + 1; j <= n; j++) {         ans += (d[i - 1][a[j]] * p[j + 1][a[i]]);       }     }     cout << ans <<   n ;   }   int32_t main() {     std::ios_base::sync_with_stdio(0);     cin.tie(NULL);     cout.tie(NULL);     long long int T;     cin >> T;     while (T--) {       solve();     }     return 0;   }   