#include <bits/stdc++.h>
const int MX = 2e6 + 7;
const int N = 1e9 + 1;
const int mod = 998244353;
const double pi = acos(-1);
double esp = 1e-13;
using namespace std;
long long qpow(long long a, long long b, long long MOD = mod) {
  for (long long ans = 1;; a = a * a % MOD, b >>= 1) {
    if (b & 1) ans = ans * a % MOD;
    if (!b) return ans;
  }
}
long long inv(long long a, long long MOD = mod) {
  return qpow(a, MOD - 2, MOD);
}
long long exgcd(long long a, long long b, long long &x, long long &y) {
  if (b == 0) {
    x = 1, y = 0;
    return a;
  }
  long long ret = exgcd(b, a % b, y, x);
  y -= a / b * x;
  return ret;
}
long long getInv(int a, int mod) {
  long long x, y;
  long long d = exgcd(a, mod, x, y);
  return d == 1 ? (x % mod + mod) % mod : -1;
}
long long add(long long a, long long b) {
  long long ans = (a + b) % mod;
  return ans >= 0 ? ans : ans + mod;
}
void mul(long long &a, long long b) { a = a % mod * (b % mod) % mod; }
int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    priority_queue<pair<int, int>> Q;
    for (int i = 1; i <= n; i++) {
      int x;
      cin >> x;
      Q.push(make_pair(x, i));
    }
    int tmp = 0, res = 0;
    while (!Q.empty()) {
      auto x = Q.top();
      Q.pop();
      if (x.second == res) {
        if (Q.empty()) {
          break;
        } else {
          tmp++;
          auto y = Q.top();
          Q.pop();
          y.first--;
          if (y.first != 0) Q.push(y);
          res = y.second;
          Q.push(x);
        }
      } else {
        tmp++;
        x.first--;
        if (x.first != 0) Q.push(x);
        res = x.second;
      }
    }
    cout << (tmp % 2 == 0 ? "HL" : "T") << '\n';
  }
}
