#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
using namespace std;
long long n, m, k, t;
const long long maxn = 1e6;
const long long maxc = 2e2 + 5;
long long A[maxn];
int main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long q, w, e, a, b;
  cin >> t;
  for (long long e1 = 0; e1 < t; e1++) {
    vector<long long> I[maxc];
    cin >> n;
    for (q = 0; q < n; q++) {
      cin >> A[q];
      A[q]--;
      I[A[q]].push_back(q);
    }
    long long ans = 0;
    for (q = 0; q < maxc; q++) {
      for (w = 0; w < I[q].size(); w++) {
        long long l = I[q][w], r = I[q][I[q].size() - w - 1];
        if (l > r) {
          break;
        }
        long long mx = 0;
        for (e = 0; e < maxc; e++) {
          if (e == q) {
            continue;
          }
          long long l1 =
              lower_bound(I[e].begin(), I[e].end(), l) - I[e].begin();
          long long r1 =
              lower_bound(I[e].begin(), I[e].end(), r) - I[e].begin();
          mx = max(mx, r1 - l1);
        }
        long long dans = mx + (w + 1) * 2;
        if (l == r) {
          dans--;
        }
        ans = max(ans, dans);
      }
    }
    cout << ans << '\n';
  }
  return 0;
}
