#include <bits/stdc++.h>
using namespace std;
const int Rea = 1e5 + 3;
struct Rin {
  char c;
  inline char gc() {
    static char rea[Rea];
    static char *head, *tail;
    return head == tail && (tail = (head = rea) + fread(rea, 1, Rea, stdin),
                            head == tail)
               ? EOF
               : *head++;
  }
  inline Rin &operator>>(int &x) {
    bool tag = false;
    x = 0;
    for (c = gc(); c > '9' || c < '0'; c = gc())
      if (c == '-') {
        c = gc();
        tag = true;
        break;
      }
    for (; c >= '0' && c <= '9'; c = gc()) x = (x << 1) + (x << 3) + (c ^ '0');
    if (tag) x = -x;
    return *this;
  }
  inline Rin &operator>>(long long &x) {
    bool tag = false;
    x = 0;
    for (c = gc(); c > '9' || c < '0'; c = gc())
      if (c == '-') {
        c = gc();
        tag = true;
        break;
      }
    for (; c >= '0' && c <= '9'; c = gc()) x = (x << 1) + (x << 3) + (c ^ '0');
    if (tag) x = -x;
    return *this;
  }
} rin;
inline void jh(int &x, int &y) {
  if (x ^ y) x ^= y ^= x ^= y;
  return;
}
inline void jh(long long &x, long long &y) {
  if (x ^ y) x ^= y ^= x ^= y;
  return;
}
inline int min(int x, int y) { return x < y ? x : y; }
inline int max(int x, int y) { return x > y ? x : y; }
inline long long min(long long x, long long y) { return x < y ? x : y; }
inline long long max(long long x, long long y) { return x > y ? x : y; }
const int N = 1e2 + 3;
int n;
pair<int, int> a[N];
inline void work() {
  rin >> n;
  for (int i = 1, x; i <= n; i++) rin >> x, a[i] = make_pair(1, x);
  sort(a + 1, a + n + 1);
  for (bool ans = false; true; ans ^= 1) {
    if (!n || !a[n].first) {
      puts(ans ? "T" : "HL");
      return;
    }
    a[n].second--;
    a[n].first = 0;
    if (n != 1) a[1].first = 1;
    if (!a[n].second) n--;
    sort(a + 1, a + n + 1);
  }
  return;
}
int main() {
  int T;
  for (rin >> T; T; T--) work();
  return 0;
}
