#include <bits/stdc++.h>
using namespace std;
const long long int mod = 998244353;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int t;
  cin >> t;
  while (t--) {
    vector<long long int> cnt[2001];
    long long int n;
    cin >> n;
    vector<long long int> v(n);
    vector<long long int> temp(27, 0);
    for (int i = 0; i < n; i++) {
      cin >> v[i];
    }
    long long int ans = 1;
    for (int i = 1; i <= 26; i++) {
      set<long long int> s0, s1;
      map<long long int, long long int> m;
      map<long long int, long long int> idx, idx1;
      for (int j = 0; j < n; j++) {
        if (i == v[j]) {
          m[v[j]]++;
          if (s0.find(m[v[j]]) == s0.end() && m[v[j]] > 0) {
            s0.insert(m[v[j]]);
            idx[m[v[j]]] = j + 1;
          }
        }
      }
      map<long long int, long long int> m0;
      for (int j = 0; j < n; j++) {
        if (i == v[n - j - 1]) {
          m0[v[n - j - 1]]++;
          if (s1.find(m0[v[n - 1 - j]]) == s1.end() && m0[v[n - j - 1]] > 0) {
            s1.insert(m0[v[n - j - 1]]);
            idx1[m0[v[n - j - 1]]] = n - j;
          }
        }
      }
      for (auto it : s0) {
        long long int mx = 0;
        if (s1.find(it) != s1.end()) {
          map<long long int, long long int> k;
          for (int j = idx[it]; j < idx1[it] - 1; j++) {
            k[v[j]]++;
            mx = max(mx, k[v[j]]);
          }
        }
        if (idx[it] != 0 && idx1[it] != 0 && idx1[it] > idx[it])
          ans = max((it * 2) + mx, ans);
      }
    }
    cout << ans << "\n";
  }
  return 0;
}
