#include<bits/stdc++.h>
#define pb emplace_back
#define ll long long
#define mp make_pair
#define PI acos(-1)
using namespace std;
ll a[200005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll i,j,k,x,y,z,m,n,t,b,l,r,q;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll sum=0;
        deque<ll>dq;
        for(i=1; i<=n; i++)
        {
            cin>>x;
            dq.push_back(x);
        }
        if(n==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        bool monu=0;
        sort(dq.rbegin(),dq.rend());

        while(dq.size())
        {
            y=dq.front();
            dq.pop_front();
            if(dq.size()==0 && y>1)
            {
                if(monu)
                    monu=0;
                else
                    monu=1;
                break;
            }
            else if(dq.size()==0 && y==1)
            {
                if(monu)
                    monu=0;
                else
                    monu=1;
                break;
            }
            if(y>0)
            {
                y--;
                if(monu)
                    monu=0;
                else
                    monu=1;
                dq.push_back(y);
            }
            sort(dq.rbegin(),dq.rend());

        }
        if(monu)
            cout<<"T"<<'\n';
        else
            cout<<"HL"<<'\n';
        dq.clear();
    }
}


#include<bits/stdc++.h>
#define pb emplace_back
#define ll long long
#define mp make_pair
#define PI acos(-1)
using namespace std;
ll a[200005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll i,j,k,x,y,z,m,n,t,b,l,r,q;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll sum=0;
        for(i=1; i<=n; i++)
        {
            cin>>a[i];
            sum+=a[i];
        }
        if(n==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        else if(n==2 && sum%2==0)
        {
            cout<<"HL"<<'\n';
            continue;
        }
        else if(n==2 && sum%2==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        else
        {
            if(sum%2==0)
                cout<<"HL"<<'\n';
            else
                cout<<"T"<<'\n';
        }
    }
}


#include<bits/stdc++.h>
#define pb emplace_back
#define ll long long
#define mp make_pair
#define PI acos(-1)
using namespace std;
ll a[200005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll i,j,k,x,y,z,m,n,t,b,l,r,q;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll sum=0;
        deque<ll>dq;
        for(i=1; i<=n; i++)
        {
            cin>>x;
            dq.push_back(x);
        }
        if(n==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        bool monu=0;
        while(dq.size())
        {
            y=dq.front();
            dq.pop_front();
           // cout<<y<<" ";
            if(y>0)
            {
                y--;
                if(monu)
                    monu=0;
                else
                    monu=1;
                dq.push_back(y);
            }
            sort(dq.begin(),dq.end());

        }
        if(monu)
            cout<<"T"<<'\n';
        else
            cout<<"HL"<<'\n';
            dq.clear();
    }
}


#include<bits/stdc++.h>
#define pb emplace_back
#define ll long long
#define mp make_pair
#define PI acos(-1)
using namespace std;
ll a[200005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll i,j,k,x,y,z,m,n,t,b,l,r,q;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll sum=0;
        deque<ll>dq;
        for(i=1; i<=n; i++)
        {
            cin>>x;
            dq.push_back(x);
        }
        if(n==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        bool monu=0;
         sort(dq.rbegin(),dq.rend());

        while(dq.size())
        {
            y=dq.front();
            dq.pop_front();
           // cout<<y<<" ";
            if(y>0)
            {
                y--;
                if(monu)
                    monu=0;
                else
                    monu=1;
                dq.push_back(y);
            }
            sort(dq.rbegin(),dq.rend());

        }
        if(monu)
            cout<<"T"<<'\n';
        else
            cout<<"HL"<<'\n';
            dq.clear();
    }
}


#include<bits/stdc++.h>
#define pb emplace_back
#define ll long long
#define mp make_pair
#define PI acos(-1)
using namespace std;
ll a[200005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll i,j,k,x,y,z,m,n,t,b,l,r,q;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ll sum=0;
        deque<ll>dq;
        for(i=1; i<=n; i++)
        {
            cin>>x;
            dq.push_back(x);
        }
        if(n==1)
        {
            cout<<"T"<<'\n';
            continue;
        }
        bool monu=0;
        sort(dq.rbegin(),dq.rend());

        while(dq.size())
        {
            y=dq.front();
            dq.pop_front();
            if(y==0)continue;
            if(dq.size()==0)
            {
                if(monu)
                    monu=0;
                else
                    monu=1;
                break;
            }
            if(y>0)
            {
                y--;
                if(monu)
                    monu=0;
                else
                    monu=1;
                dq.push_back(y);
            }
            sort(dq.rbegin(),dq.rend());

        }
        if(monu)
            cout<<"T"<<'\n';
        else
            cout<<"HL"<<'\n';
        dq.clear();
    }
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
            }
            if(k==0)
            {
                if(n%2!=0)
                {
                    cout<<"T\n";
                }
                else
                    cout<<"HL\n";
            }
            else
            {
                cout<<"T\n";
            }
        }
    }
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            map<int,int>s;
              ll p=0;
              sort(a,a+n);
            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
                    s[a[i]]++;
                    p+=a[i];
            }
            s[a[n-1]]++;
            if(k==0)
            {
                if(n%2!=0)
                {
                    cout<<"T\n";
                }
                else
                    cout<<"HL\n";
            }
            else
            {
                if(a[n-1]>p)
                    cout<<"T\n";
                else
                {p+=a[n-1];
                    if(p%2==0)
                        cout<<"HL\n";
                        else
                            cout<<"T\n";

                }

            }
        }
    }
}


/*#include<bits/stdc++.h>
	using namespace std;
	#define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); // remove for interactive
	#define     int          long long int
	#define     INF          1001001001
	#define     PI           3.1415926535897932384626
	#define     all(x)       x.begin(),x.end()
	#define     mem(a,b)     memset(a,b,sizeof(a))
	#define     gcd(a,b)     (__gcd((a),(b)))
	#define     lcm(a,b)     (((a)*(b))/gcd((a),(b)))
	#define     pb           push_back
	#define     rep(i,n)     for (int i = 0; i < n; ++i)
	#define     REP(i,k,n)   for (int i = k; i <= n; ++i)
	#define 	REPR(i,k,n)  for (int i = k; i >= n; --i)
	#define     watch(x)     cout << (#x) << " is " << (x) << endl
	#define     binary(n)    cout<<bitset<32>(n)<<"\n"
	#define 	tr(container,it) for(auto it=container.begin();it!=container.end();it++)
	#define present(container, element) (container.find(element) != container.end())
	#define vpresent(container, element) (find(all(container),element) != container.end())//for vectors

	typedef vector<int>  vi;
	typedef pair<int,int> pii;
*/
/*	int mod=100000000;
int power(int a, int b) //a is base, b is exponent
        {
            if(b==0)
                return 1;
            if(b%2 == 1)
                return (power(a,b-1)*a)%mod;
            int q = power(a,b/2);
            return (q*q)%mod;
        }

*/
// Before sub : check for out of bounds, floating point exception(division by zero) , indexes , 0 , 1
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int32_t main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            map<int,int>s;
              ll p=0;
              sort(a,a+n);
            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
                    s[a[i]]++;
                    p+=a[i];
            }
            s[a[n-1]]++;

                if(a[n-1]>p)
                    cout<<"T\n";
                else
                {p+=a[n-1];
                    if(p%2==0)
                        cout<<"HL\n";
                        else
                            cout<<"T\n";

                }

            }
        }
    }


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            map<int,int>s;
              ll p=0;
              sort(a,a+n);
              ll o=a[0];
              ll sum=0;
            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
                    s[a[i]]++;
                    p+=a[i];
                    sum+=a[i]-o;
            }
            sum+=(a[n-1]-o);
            sum=sum%2;
            sum+=n;
            sum=sum%2;
            s[a[n-1]]++;
            if(k==0)
            {
                if(n%2!=0)
                {
                    cout<<"T\n";
                }
                else
                    cout<<"HL\n";
            }
            else
            {
                if(a[n-1]>p)
                    cout<<"T\n";
                else
                {if(sum%2==0)
                {
                    cout<<"HL\n";
                }
                else
                    cout<<"T\n";

                }

            }
        }
    }
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            map<int,int>s;

            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
                    s[a[i]]++;
            }
            s[a[n-1]]++;
            if(k==0)
            {
                if(n%2!=0)
                {
                    cout<<"T\n";
                }
                else
                    cout<<"HL\n";
            }
            else
            { k=0;
                for(auto it:s)
                {
                    if(it.second%2!=0)
                        k++;
                }
                if(k%2!=0)
                    cout<<"T\n";
                else
                    cout<<"HL\n";
            }
        }
    }
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i,a,n) for(int i=a;i<n;i++)
int main()
{ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
    int t;
    cin>>t;
    while(t--)
    {

        int n;
        cin>>n;
        ll a[n];
        fo(i,0,n)
        cin>>a[i];
        if(n==1)
            cout<<"T\n";
        else
        {
            int k=0;
            map<int,int>s;
              ll p=0;
              sort(a,a+n);
            fo(i,0,n-1)
            {
                if(a[i]!=a[i+1])
                    k++;
                    s[a[i]]++;
                    p+=a[i];
            }
            s[a[n-1]]++;
            if(k==0)
            {
                if(n%2!=0)
                {
                    cout<<"T\n";
                }
                else
                    cout<<"HL\n";
            }
            else
            {
                if(a[n-1]>p)
                    cout<<"T\n";
                else
                {p+=a[n-1];
                    if(p%2==0&&n%2!=0)
                        cout<<"HL\n";
                        else
                            cout<<"T\n";

                }

            }
        }
    }
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e5+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		if(sum&1){
			puts("T");
			continue;
		}
		for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		if(dp[sum/2])
		puts("HL");
		else
		puts("T");
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e5+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		if(sum&1||n==1){
			puts("T");
			continue;
		}
		if(n>=3){
			if(sum&1)
			puts("T");
			else
			puts("HL");
		}
		else{
			puts("HL");
		}
		/*for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		if(dp[sum/2])
		puts("HL");
		else
		puts("T");*/
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e5+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		sort(a+1,a+1+n);
		if((sum&1)||n==1||a[n]>sum-a[n]){
			puts("T");
			continue;
		}
		for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		int f=0;
		for(int i=sum/2;i>=1;i--){
			if(dp[i]){
				if(abs(sum-2*i)%2==0){
					f=1;
				}
				break;
			}
		}
		if(f){
			puts("HL");
		}
		else
		puts("T");
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e5+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
		}
		int s1=0,s2=0;
		for(int i=1;i<=n;i+=2)
		s1+=a[i];
		for(int i=2;i<=n;i+=2){
			s2+=a[i];
		}
		if(s1>s2)
		puts("T");
		else
		puts("HL");
		/*if(sum&1){
			puts("T");
			continue;
		}
		for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		if(dp[sum/2])
		puts("HL");
		else
		puts("T");*/
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e4+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		if(sum&1){
			puts("T");
			continue;
		}
		for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		if(dp[sum/2])
		puts("HL");
		else
		puts("T");
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
const int M=1e5+10;
const int inf=0x3f3f3f3f;
const ll mod=1e9+7;
const int bit=32;
const double pi=acos(-1.0);
int a[M],dp[M];
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		mem(dp,0);
		dp[0]=1;
		int sum=0,n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		if(sum&1||n==1){
			puts("T");
			continue;
		}
		for(int i=1;i<=n;i++){
			for(int j=sum/2;j>=a[i];j--){
				if(dp[j-a[i]])
				dp[j]=1;
			}
		}
		int f=0;
		for(int i=sum/2;i>=1;i--){
			if(dp[i]){
				if(abs(sum-2*i)%2==0){
					f=1;
				}
				break;
			}
		}
		if(f){
			puts("HL");
		}
		else
		puts("T");
	}
	return 0;
}


    #include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    sort(a.begin(),a.end()) ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        int dif = sum -x.first ;
        int tu = 1 , li = -1  ;
        while(dif){
            tu^=1 ;
                dif--;
                int i = -1 ;
                for(int& y : a){
                    i++ ;
                    if(y>=x.first) continue;
                    if(y==0) continue ;
                    if(i==li) continue;
                    y-- ;
                    li = i ;
                }
                if(i==-1){
                    cout << "T" ;
                    return ;
                }
                li =i ;
        }
        if(tu) cout << "HL" ;
        else cout << "T" ;
        return ;

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum!=x.first) {
            cout << "T" ;
            return ;
        }
        else{
            cout << "HL" ;
            return ;
        }

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define pii pair<int,int>
#define F first
#define S second
#define md ((int)1e9+7)
using namespace std;
const int mxn = 1e5+1 ;
vector<int> adj[mxn] ;
int n ;
vector<int> ed ;
int dfs(int a,int p){
    int num = 1 ;
    for(int& x: adj[a]){
        if(x==p) continue ;
        num+=dfs(x,a) ;
    }
    if(p!=-1)ed.push_back((n-num)*num) ;

    return num ;
}
signed main(){
    ios_base::sync_with_stdio(0)  ;
    cin.tie(0)  ;
    int t ;
    cin>>t ;
    while(t--){
        cin>>n ;
        for(int i=0;i<n;i++) adj[i+1].erase(adj[i+1].begin(),adj[i+1].end()) ;
        for(int i=1;i<n;i++){
            int u , v ;
            cin>>u>>v ;
            adj[u].push_back(v) ;
            adj[v].push_back(u) ;
        }
        ed.erase(ed.begin(),ed.end()) ;
        int m ;
        cin>> m  ;
        vector<int> p  ;
        while(m--){
            int x ;
            cin>>x ;
            p.push_back(x) ;
        }
        while(p.size()<n-1) p.push_back(1) ;
        sort(p.begin(),p.end()) ;
        for(int i=n;i<p.size();i++) p[n-1]*=p[i]  , p[n-1]%=md ;
        if(p.size()>n-1)p.erase(p.begin()+n-1,p.end()) ;
        int ans= 0 ;
        int j = -1  ;
        dfs(1,-1) ;
        sort(ed.begin(),ed.end()) ;
        for(int x : p){
            j++ ;
            int fp = ed[j] ;
            int sp = x ;
            sp%=md ;
            fp%=md ;
            ans%=md ;
            ans+=(sp*fp)%md ;
            ans%=md ;
        }
        cout << ans << endl ;
    }
    return  0 ;
}


#include <bits/stdc+++.h>
using namespace std;
void solve(){
    int n ;
    cin>> n ;
    vector<int> a(n) ;
    int sum=  0 , mx = 0 ;
    for(int& x :a) cin>>x , sum+= x , mx = max(mx,x);
    if(sum&1){
        cout << "T" ;
        return ;
    }
    if(mx*2>sum) cout << "T" ;
    else cout << "HL" ;
    return ;
}
int main(){
    int t ;
    cin>>t ;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0  ;
}


#include <bits/stdc++.h>
using namespace std;
void solve(){
    int n ;
    cin>> n ;
    vector<int> a(n) ;
    int sum=  0 , mx = 0 ;
    for(int& x :a) cin>>x , sum+= x , mx = max(mx,x);
    if(sum&1){
        cout << "T" ;
        return ;
    }
    if(mx*2>sum) cout << "T" ;
    else cout << "HL" ;
    return ;
}
int main(){
    int t ;
    cin>>t ;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0  ;
}


#include <bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
    for(int& x : a) m[x]++;
    for(pii x :  m){
        int k = x.second;
        if(k&1) {
            cout << "T" ;
            return ;
        }
    }
    cout << "HL" ;
}
int main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        else{
            cout << "HL" ;
            return ;
        }
    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


    #include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    sort(a.begin(),a.end()) ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        else if(m[1]==sum){
            if(m[1]&1) cout << "HL" ;
            else cout << "T" ;
            return ;
        }
        else {
            cout << "T" ;
            return ;
        }
        return ;

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


    #include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    sort(a.begin(),a.end()) ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        int dif = sum -x.first ;
        int tu = 1 , li = -1  ;
        while(dif){
            tu^=1 ;
                if(tu)dif--;
                int i = -1 ;
                for(int& y : a){
                    i++ ;
                    if(y>=x.first) continue;
                    if(y==0) continue ;
                    if(i==li) continue;
                    y-- ;
                    li = i ;
                }
                if(i==-1&&tu){
                    if(tu)cout << "T" ;

                    return ;
                }
                li =i ;
        }
        if(tu) cout << "HL" ;
        else cout << "T" ;
        return ;

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include <bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        else{
            cout << "HL" ;
            return ;
        }
    }
    cout << "HL" ;
}
int main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


    #include <bits/stdc++.h>
#define pii pair<int,int>
#define int long long
using namespace std;
void solve(){
    int n ;
    cin>>n ;
    vector<int>  a(n) ;
    for(int& x : a) cin>>x ;
    map<int,int> m ;
int sum = 0 ;
    for(int& x : a) m[x]++,sum+=x ;
    sort(a.begin(),a.end()) ;
    for(pii x :  m){
        int k = x.second;
        sum-=k*x.first ;
        if(k%2==0) continue ;
        if(k&1&&sum<x.first) {
            cout << "T" ;
            return ;
        }
        int dif = sum -x.first ;
        int tu = 1 , li = -1  ;
        while(dif){
            tu^=1 ;
                dif--;
                int i = -1 ;
                for(int& y : a){
                    i++ ;
                    if(y>=x.first) continue;
                    if(y==0) continue ;
                    if(i==li) continue;
                    y-- ;
                    li = i ;
                }
                if(i==-1&&tu){
                    if(tu)cout << "T" ;

                    return ;
                }
                li =i ;
        }
        if(tu) cout << "HL" ;
        else cout << "T" ;
        return ;

    }
    cout << "HL" ;
}
signed main(){
    int t ;
    cin>>t;
    while(t--){
        solve() ;
        cout << endl ;
    }
    return 0 ;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if(odd % 2 == 0 && even % 2 == 0)
				cout << "HL" << '\n';
			else
				cout << "T" << '\n';
		}
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		// cout << (solve(v, -1) ? "T" : "HL") << '\n';

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		if(odd % 2 == 0 || (n - odd) % 2 == 0)
			cout << "HL" << '\n';
		else
			cout << "T" << '\n';
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if(odd % 2 == 1 || even % 2 == 0)
				cout << "HL" << '\n';
			else
				cout << "T" << '\n';
		}
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		// cout << (solve(v, -1) ? "T" : "HL") << '\n';

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		if(odd % 2 == 0 || (n - odd) % 2 == 1)
			cout << "HL" << '\n';
		else
			cout << "T" << '\n';
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if(odd % 2 == 0 || even % 2 == 0)
				cout << "HL" << '\n';
			else
				cout << "T" << '\n';
		}
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if(odd % 2 == 0 || even % 2 == 1)
				cout << "HL" << '\n';
			else
				cout << "T" << '\n';
		}
	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

int main() {
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];
		int mx = *max_element(v.begin(), v.end());
		int sum = accumulate(v.begin(), v.end(), 0);
		if(mx > sum / 2 || sum % 2) {
			cout << "T" << '\n';
		} else {
			cout << "HL" << '\n';
		}
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if(even % 2)
				cout << "T" << '\n';
			else
				cout << "HL" << '\n';
		}
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		if(odd % 2)
			cout << "T" << '\n';
		else
			cout << "HL" << '\n';
	}
	return 0;
}


#include "bits/stdc++.h"
using namespace std;

const long long lim = 1e17;

int solve(vector<int> v, int last) {
	bool win = false;
	for(int i = 0; i < v.size(); ++i) {
		if(i == last) continue;
		if(v[i] > 0) {
			v[i]--;
			win |= !solve(v, i);
			v[i]++;
			if(win) {
				break;
			}
		}
	}
	return win;
}

int main() {
	ios_base :: sync_with_stdio(false);
	cin.tie(NULL);
	int tt; cin >> tt;
	while(tt--) {
		int n; cin >> n;
		vector<int> v(n);
		for(int i = 0; i < n; ++i) cin >> v[i];

		if(n == 1) {
			cout << "T" << '\n';
			continue;
		}

		int odd = 0;
		for(int i = 0; i < n; ++i) {
			if(v[i] % 2)
				odd++;
		}
		int even = n - odd;
		if(odd % 2) {
			cout << "T" << '\n';
		} else {
			if((n % 2) == (even % 2))
				cout << "HL" << '\n';
			else
				cout << "T" << '\n';
		}
	}
	return 0;
}


#include<iostream>

using namespace std;

int main(){
    int t; cin>>t;
    while(t--){
        int n; cin>>n;
    int* a=new int[n];
    for(int i=0;i<n;i++) cin>>a[i];
        int max=0;
        int sum=0;
        for(int i=0;i<n;i++){
            sum+=a[i];
            if(a[i]>max) max=a[i];
        }
        if((sum-max)%2==0) cout<<"T\n";
        else cout<<"HL\n";
    }

    return 0;
}


    #include<iostream>

            using namespace std;

             bool game(int* a,int n,int j){
                 a[j]--;
                 int k=0;
                 int max=0;
                 for(int i=0;i<n;i++){
                     if(i!=j && a[i]>max){
                         max=a[i];
                         k=i;
                     }
                 }
                 if(max==0) return true;
                 else return game(a,n,k);
             }
            int main(){
                int t; cin>>t;
                while(t--){
                    int n; cin>>n;
                    int* a=new int[n];
                    for(int i=0;i<n;i++) cin>>a[i];

                    int j=0;
                    int max=0;
                    for(int i=0;i<n;i++){
                        if(max<a[i]){
                            j=i;
                            max=a[i];
                        }
                    }
                    bool b=game(a,n,j);
                    if(b) cout<<"T\n";
                    else cout<<"HL\n";

                }

                return 0;
            }


#include<iostream>

        using namespace std;

         bool game(int* a,int n,int j){
             a[j]--;
             int k=0;
             int max=0;
             for(int i=0;i<n;i++){
                 if(i!=j && a[i]>max){
                     max=a[i];
                     k=i;
                 }
             }
             if(max==0) return true;
             else return game(a,n,k);
         }
        int main(){
            int t; cin>>t;
            while(t--){
                int n; cin>>n;
                int* a=new int[n];
                for(int i=0;i<n;i++) cin>>a[i];

                int j=0;
                int max=0;
                for(int i=0;i<n;i++){
                    if(max<a[i]) j=i;
                }
                bool b=game(a,n,j);
                if(b) cout<<"T\n";
                else cout<<"HL\n";

            }

            return 0;
        }


        #include<iostream>

                using namespace std;

                 int maxx(int* a,int n,int j){
                     int k=0;
                     int max=0;
                     for(int i=0;i<n;i++){
                         if(i!=j && a[i]>max){
                             max=a[i];
                             k=i;
                         }
                     }
                     if(max==0) return n;
                     else return k;
                 }

                int main(){
                    int t; cin>>t;
                    while(t--){
                        int n; cin>>n;
                        int* a=new int[n];
                        for(int i=0;i<n;i++) cin>>a[i];

                        int j=0;
                        int max=0;
                        int sum=0;
                        for(int i=0;i<n;i++){
                            if(max<a[i]){
                                j=i;
                                max=a[i];
                            }
                            sum+=a[i];

                        }
                        int count=1;
                        while(j!=n){
                            a[j]--;
                            j=maxx(a,n,j);
                            count=-count;

                        }
                        if(count==-1) cout<<"T\n";
                        else cout<<"HL\n";

                    }

                    return 0;
                }


    #include<iostream>

            using namespace std;

             int maxx(int* a,int n,int j){
                 int k=0;
                 int max=0;
                 for(int i=0;i<n;i++){
                     if(i!=j && a[i]>max){
                         max=a[i];
                         k=i;
                     }
                 }
                 if(max==0) return n;
                 else return k;
             }

            int main(){
                int t; cin>>t;
                while(t--){
                    int n; cin>>n;
                    int* a=new int[n];
                    for(int i=0;i<n;i++) cin>>a[i];

                    int j=0;
                    int max=0;
                    int sum=0;
                    for(int i=0;i<n;i++){
                        if(max<a[i]){
                            j=i;
                            max=a[i];
                        }
                        sum+=a[i];

                    }
                    int count=1;
                    while(j!=n){
                        a[j]--;
                        j=maxx(a,n,j);
                        count=-count;

                    }
                    if(count==1) cout<<"T\n";
                    else cout<<"HL\n";

                }

                return 0;
            }


    #include<iostream>

    using namespace std;

    int main(){
        int t; cin>>t;
        while(t--){
            int n; cin>>n;
        int* a=new int[n];
        for(int i=0;i<n;i++) cin>>a[i];
            int max=0;
            int sum=0;
            for(int i=0;i<n;i++){
                sum+=a[i];
                if(a[i]>max) max=a[i];
            }
            if((sum-n)%2==0) cout<<"T\n";
            else cout<<"HL\n";
        }

        return 0;
    }


        #include<iostream>

        using namespace std;

        int main(){
            int t; cin>>t;
            while(t--){
                int n; cin>>n;
            int* a=new int[n];
            for(int i=0;i<n;i++) cin>>a[i];
                int max=0;
                int sum=0;
                for(int i=0;i<n;i++){
                    sum+=a[i];
                    if(a[i]>max) max=a[i];
                }
                if((sum-n)%2!=0) cout<<"T\n";
                else cout<<"HL\n";
            }

            return 0;
        }


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       ll v;
       ll sum=0;
       fr(i,0,n)
       {
           if(i==0)
           v=a[i];
           else
           {
               if(a[i]<=v)
               {
                   v=v-a[i];
               }
               else
               {
                   v=a[i]-v;
               }
           }
       }
       if(v!=0)
       cout<<"T\n";
       else
       cout<<"HL\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       ll v;
       fr(i,0,n)
       {
           if(i==0)
           v=a[i];
           else
           {
               if(a[i]<=v)
               {
                   v=v-a[i];
               }
               else
               {
                   v=a[i]-v;
               }
           }
       }
       if(v>0)
       cout<<"T\n";
       else
       cout<<"HL\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       vi v;
       ll sum=0;
       fr(i,0,n)
       {
           if(i==0)
           v.PB(a[i]);
           else
           {
               if(a[i]<v.back())
               {
                   v[v.size()-1]=v.back()-a[i];
                   sum+=a[i];
               }
               else
               {
                   sum+=v.back();
                   v[v.size()-1]=a[i]-v.back();
               }
           }
       }
       if(sum%2==0)
       cout<<"T\n";
       else
       cout<<"HL\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       vi v;
       ll sum=0;
       fr(i,0,n)
       {
           if(i==0)
           v.PB(a[i]);
           else
           {
               if(a[i]<v.back())
               {
                   v[v.size()-1]=v.back()-a[i];
                   sum+=a[i];
               }
               else
               {
                   v[v.size()-1]=a[i]-v.back();
                   sum+=v.back();
               }
           }
       }
       if(sum%2==0)
       cout<<"HL\n";
       else
       cout<<"T\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
ll pow1(ll n,ll p)
{
	if(p==0)	return 1;
	ll x=pow1(n, p/2);
	x=(x*x)%mod;
	if(p%2==0)
		return x;
	else
		return (x*n)%mod;
}
int main()
{
    fast;
   ll t=1;
   std::cin >> t;
   while(t--)
   {
       ll n,k;
       std::cin >> n;
       ll a[n],sum=0;
       fr(i,0,n)
       std::cin >> a[i];
       fr(i,0,n)
       sum+=a[i];
       sort(a,a+n);
       if(2*a[n-1]>sum)
       cout<<"T\n";
       else if(sum%2==0)
       cout<<"HL\n";
       else
       cout<<"T\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       vi v;
       ll sum=0;
       fr(i,0,n)
       {
           if(i==0)
           v.PB(a[i]);
           else
           {
               if(a[i]<=v.back())
               {
                   v[v.size()-1]=v.back()-a[i];
                   sum+=2*a[i];
               }
               else
               {
                   sum+=2*v.back();
                   v[v.size()-1]=a[i]-v.back();
               }
           }
       }
       if(v.back()!=0)
       cout<<"T\n";
       else
       cout<<"HL\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define endl '\n'
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
int main()
{
    fast;
   ll t;
   std::cin >> t;
   while(t--)
   {
       ll n,i,j=0;
       std::cin >> n;
       ll a[n];
       fr(i,0,n)
       std::cin >> a[i];
       if(n==1)
       {
           cout<<"T\n";
           continue;
       }
       sort(a,a+n,greater<ll>());
       vi v;
       ll sum=0;
       fr(i,0,n)
       {
           if(i==0)
           v.PB(a[i]);
           else
           {
               if(a[i]<v.back())
               {
                   v[v.size()-1]=v.back()-a[i];
                   sum+=2*a[i];
               }
               else
               {
                   sum+=2*v.back();
                   v[v.size()-1]=a[i]-v.back();
               }
           }
       }
       if(v.back()!=0)
       cout<<"T\n";
       else
       cout<<"HL\n";
   }
}


#include <bits/stdc++.h>
typedef long long ll;
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define rf(i,a,b) for(ll i=a; i>=b; i--)
typedef std::vector<long long > vi ;
#define F first
#define S second
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mod 1000000007
#define PB push_back
#define MP make_pair
#define PI 3.14159265358979323846
#define all(a) a.begin(),a.end()
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define show(a) for(auto el:a)cout<<el<<" "
const ll INF=LLONG_MAX/2;
const ll N=2e5+1;
#define yesno(f) yes(f);no(f);
#define yes(f) if(f)cout<<"YES\n";
#define no(f) if(!f)cout<<"NO\n";
using  namespace std;
ll pow1(ll n,ll p)
{
	if(p==0)	return 1;
	ll x=pow1(n, p/2);
	x=(x*x)%mod;
	if(p%2==0)
		return x;
	else
		return (x*n)%mod;
}
int main()
{
    fast;
   ll t=1;
   //std::cin >> t;
   while(t--)
   {
       ll n,k;
       std::cin >> n;
       ll a[n],sum=0;
       fr(i,0,n)
       std::cin >> a[i];
       fr(i,0,n)
       sum+=a[i];
       sort(a,a+n);
       if(2*a[n-1]>sum)
       cout<<"T\n";
       else if(sum%2==0)
       cout<<"HL\n";
       else
       cout<<"T\n";
   }
}


#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin>>t;
    while(t--)
    {
        int n;
        cin>>n; int i;
        int ar[n];
        for(i=0;i<n;i++) cin>>ar[i];
        sort(ar, ar + n, greater<int>());
        long long int count = 0;
        int prev=-1;
        int isable=0;
        int loop1=0, loop2=0;
        while(true)
        {
            loop1=0; loop2=0; isable=0;
            for(i=0;i<n;i++)
            {
                if(i!=prev && ar[i]>1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop1=1;
                    break;
                }
            }
            if(loop1==0)
            {
                for(i=0;i<n;i++)
                {
                    if(i!=prev && ar[i]==1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop2=1;
                    break;
                }
                }
            }
            if(isable==0) break;
            else sort(ar,ar+n,greater<int>());
        }
        if(count%2==1) cout<<"T"<<endl;
        else cout<<"HL"<<endl;
    }

	return 0;
}


#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin>>t;
    while(t--)
    {
        int n;
        cin>>n; int i;
        int ar[n];
        for(i=0;i<n;i++) cin>>ar[i];
        int maxx=ar[0]; long long int sum=0;
        for(i=0;i<n;i++)
        {
            if(maxx<ar[i]) maxx=ar[i];
            sum+=ar[i];
        }

        if(sum-maxx<maxx) cout<<"T"<<endl;
        else if(sum%2==0) cout<<"HL"<<endl;
        else cout<<"T"<<endl;
    }

	return 0;
}


#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin>>t;
    while(t--)
    {
        int n;
        cin>>n; int i;
        int ar[n];
        for(i=0;i<n;i++) cin>>ar[i];
        long long int count = 0;
        int prev=-1;
        int isable=1;
        int loop1=0, loop2=0;
        while(true)
        {
            loop1=0; loop2=0; isable=0;
            for(i=0;i<n;i++)
            {
                if(i!=prev && ar[i]>1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop1=1;
                    break;
                }
            }
            if(loop1==0)
            {
                for(i=0;i<n;i++)
                {
                    if(i!=prev && ar[i]==1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop2=1;
                    break;
                }
                }
            }
            if(isable==0) break;
        }
        if(count%2==1) cout<<"T"<<endl;
        else cout<<"HL"<<endl;
    }

	return 0;
}


#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin>>t;
    while(t--)
    {
        int n;
        cin>>n; int i;
        int ar[n];
        for(i=0;i<n;i++) cin>>ar[i];
        long long int count = 0;
        int prev=-1;
        int isable=0;
        int loop1=0, loop2=0;
        while(true)
        {
            loop1=0; loop2=0; isable=0;
            for(i=0;i<n;i++)
            {
                if(i!=prev && ar[i]>1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop1=1;
                    break;
                }
            }
            if(loop1==0)
            {
                for(i=0;i<n;i++)
                {
                    if(i!=prev && ar[i]==1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop2=1;
                    break;
                }
                }
            }
            if(isable==0) break;
        }
        if(count%2==1) cout<<"T"<<endl;
        else cout<<"HL"<<endl;
    }

	return 0;
}


#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin>>t;
    while(t--)
    {
        int n;
        cin>>n; int i;
        int ar[n];
        for(i=0;i<n;i++) cin>>ar[i];
        sort(ar, ar + n, greater<int>());
        long long int count = 0;
        int prev=-1;
        int isable=0;
        int loop1=0, loop2=0;
        while(true)
        {
            loop1=0; loop2=0; isable=0;
            for(i=0;i<n;i++)
            {
                if(i!=prev && ar[i]>1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop1=1;
                    break;
                }
            }
            if(loop1==0)
            {
                for(i=0;i<n;i++)
                {
                    if(i!=prev && ar[i]==1) {
                    isable=1;
                    prev=i;
                    ar[i]--;
                    count++;
                    loop2=1;
                    break;
                }
                }
            }
            if(isable==0) break;
        }
        if(count%2==1) cout<<"T"<<endl;
        else cout<<"HL"<<endl;
    }

	return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector < long long > vll;
typedef pair < long long, long long > pll;
typedef pair < int, int > pii;
typedef vector < int > vi;

#define deb(x) cout << #x << " : " << x << endl
#define deb2(x , y) cout << #x << " : " << x << " , "<< #y << " : " << y << endl
#define deb3(x , y , z) cout << #x << " : " << x << " , " << #y << " : " << y << " , " << #z << " : " << z << endl
#define deb4(a , b , c , d) cout << #a << " : " << a << " , " << #b << " : " << b << " , " << #c << " : " << c << " , " << #d << " : " << d << endl

#define debv(x) for(auto i=x.begin();i!=x.end();i++) cout<<*i<<' ';cout<<endl
#define debvv(x) for(auto i=x.begin();i!=x.end();i++){for(auto j=(*i).begin();j!=(*i).end();j++) cout<<*j<<' '; cout<<endl;}cout<<endl
#define debp(x) for(auto i=x.begin();i!=x.end();i++) cout<<i->first<<':'<<i->second<<' ';cout<<endl

#define rep(i,n) 			for(int i = 0; i < n; i++)
#define reps(i,a,n) 		for(int i = a; i < n; i++)

#define rsz(x,n) 			x.clear(); x.resize(n)
#define rrsz(x,a,n) 		x.clear(); x.resize(n,a)

#define all(x) 				x.begin(),x.end()
#define pb 					push_back
#define csl 				ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ls(x) 				((2*(x)) + 1)
#define rs(x) 				((ls(x)) + 1)
#define md(a,b) 			((b)+((a) - (b))/2)
#define endl '\n'
#define INF (1e9 + 7)

void solve(){
	int n;
	cin >> n;

	vi a(n);
	int s = 0 , mx = 0;
	rep(i , n){
		cin >> a[i];
		mx = max(mx , a[i]);
		s += a[i];
	}

	if (mx >= ((s+1)/2)) {
		cout << "T" << endl;
	} else {
		if (s & 1) {
			cout << "HL" << endl;
		} else {
			cout << "T" << endl;
		}
	}

}

int main(){
    csl;

    int testcase = 1;
    cin >> testcase;

	for(int i = 0 ; i < testcase ; i++){
		solve();
	}

    return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector < long long > vll;
typedef pair < long long, long long > pll;
typedef pair < int, int > pii;
typedef vector < int > vi;

#define deb(x) cout << #x << " : " << x << endl
#define deb2(x , y) cout << #x << " : " << x << " , "<< #y << " : " << y << endl
#define deb3(x , y , z) cout << #x << " : " << x << " , " << #y << " : " << y << " , " << #z << " : " << z << endl
#define deb4(a , b , c , d) cout << #a << " : " << a << " , " << #b << " : " << b << " , " << #c << " : " << c << " , " << #d << " : " << d << endl

#define debv(x) for(auto i=x.begin();i!=x.end();i++) cout<<*i<<' ';cout<<endl
#define debvv(x) for(auto i=x.begin();i!=x.end();i++){for(auto j=(*i).begin();j!=(*i).end();j++) cout<<*j<<' '; cout<<endl;}cout<<endl
#define debp(x) for(auto i=x.begin();i!=x.end();i++) cout<<i->first<<':'<<i->second<<' ';cout<<endl

#define rep(i,n) 			for(int i = 0; i < n; i++)
#define reps(i,a,n) 		for(int i = a; i < n; i++)

#define rsz(x,n) 			x.clear(); x.resize(n)
#define rrsz(x,a,n) 		x.clear(); x.resize(n,a)

#define all(x) 				x.begin(),x.end()
#define pb 					push_back
#define csl 				ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ls(x) 				((2*(x)) + 1)
#define rs(x) 				((ls(x)) + 1)
#define md(a,b) 			((b)+((a) - (b))/2)
#define endl '\n'
#define INF (1e9 + 7)

void solve(){
	ll n;
	cin >> n;

	vll a(n);
	ll s = 0 , mx = 0;
	rep(i , n){
		cin >> a[i];
		mx = max(mx , a[i]);
		s += a[i];
	}

	if (mx > (s/2)) {
		cout << "T" << endl;
	} else {
		if (s & 1) {
			cout << "T" << endl;
		} else {
			cout << "HL" << endl;
		}
	}

}

int main(){
    csl;

    int testcase = 1;
    cin >> testcase;

	for(int i = 0 ; i < testcase ; i++){
		solve();
	}

    return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector < long long > vll;
typedef pair < long long, long long > pll;
typedef pair < int, int > pii;
typedef vector < int > vi;

#define deb(x) cout << #x << " : " << x << endl
#define deb2(x , y) cout << #x << " : " << x << " , "<< #y << " : " << y << endl
#define deb3(x , y , z) cout << #x << " : " << x << " , " << #y << " : " << y << " , " << #z << " : " << z << endl
#define deb4(a , b , c , d) cout << #a << " : " << a << " , " << #b << " : " << b << " , " << #c << " : " << c << " , " << #d << " : " << d << endl

#define debv(x) for(auto i=x.begin();i!=x.end();i++) cout<<*i<<' ';cout<<endl
#define debvv(x) for(auto i=x.begin();i!=x.end();i++){for(auto j=(*i).begin();j!=(*i).end();j++) cout<<*j<<' '; cout<<endl;}cout<<endl
#define debp(x) for(auto i=x.begin();i!=x.end();i++) cout<<i->first<<':'<<i->second<<' ';cout<<endl

#define rep(i,n) 			for(int i = 0; i < n; i++)
#define reps(i,a,n) 		for(int i = a; i < n; i++)

#define rsz(x,n) 			x.clear(); x.resize(n)
#define rrsz(x,a,n) 		x.clear(); x.resize(n,a)

#define all(x) 				x.begin(),x.end()
#define pb 					push_back
#define csl 				ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ls(x) 				((2*(x)) + 1)
#define rs(x) 				((ls(x)) + 1)
#define md(a,b) 			((b)+((a) - (b))/2)
#define endl '\n'
#define INF (1e9 + 7)

void solve(){
	int n;
	cin >> n;

	vi a(n);
	int s = 0 , mx = 0;
	rep(i , n){
		cin >> a[i];
		mx = max(mx , a[i]);
		s += a[i];
	}

	if (mx >= ((s+1)/2)) {
		cout << "T" << endl;
	} else {
		if (s & 1) {
			cout << "T" << endl;
		} else {
			cout << "HL" << endl;
		}
	}

}

int main(){
    csl;

    int testcase = 1;
    cin >> testcase;

	for(int i = 0 ; i < testcase ; i++){
		solve();
	}

    return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector < long long > vll;
typedef pair < long long, long long > pll;
typedef pair < int, int > pii;
typedef vector < int > vi;

#define deb(x) cout << #x << " : " << x << endl
#define deb2(x , y) cout << #x << " : " << x << " , "<< #y << " : " << y << endl
#define deb3(x , y , z) cout << #x << " : " << x << " , " << #y << " : " << y << " , " << #z << " : " << z << endl
#define deb4(a , b , c , d) cout << #a << " : " << a << " , " << #b << " : " << b << " , " << #c << " : " << c << " , " << #d << " : " << d << endl

#define debv(x) for(auto i=x.begin();i!=x.end();i++) cout<<*i<<' ';cout<<endl
#define debvv(x) for(auto i=x.begin();i!=x.end();i++){for(auto j=(*i).begin();j!=(*i).end();j++) cout<<*j<<' '; cout<<endl;}cout<<endl
#define debp(x) for(auto i=x.begin();i!=x.end();i++) cout<<i->first<<':'<<i->second<<' ';cout<<endl

#define rep(i,n) 			for(int i = 0; i < n; i++)
#define reps(i,a,n) 		for(int i = a; i < n; i++)

#define rsz(x,n) 			x.clear(); x.resize(n)
#define rrsz(x,a,n) 		x.clear(); x.resize(n,a)

#define all(x) 				x.begin(),x.end()
#define pb 					push_back
#define csl 				ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ls(x) 				((2*(x)) + 1)
#define rs(x) 				((ls(x)) + 1)
#define md(a,b) 			((b)+((a) - (b))/2)
#define endl '\n'
#define INF (1e9 + 7)

void solve(){
	ll n;
	cin >> n;

	vi a(n);
	ll s = 0 , mx = 0;
	rep(i , n){
		cin >> a[i];
		mx = max(mx , a[i]);
		s += a[i];
	}

	if (mx > (s/2)) {
		cout << "T" << endl;
	} else {
		if (s & 1) {
			cout << "HL" << endl;
		} else {
			cout << "T" << endl;
		}
	}

}

int main(){
    csl;

    int testcase = 1;
    cin >> testcase;

	for(int i = 0 ; i < testcase ; i++){
		solve();
	}

    return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector < long long > vll;
typedef pair < long long, long long > pll;
typedef pair < int, int > pii;
typedef vector < int > vi;

#define deb(x) cout << #x << " : " << x << endl
#define deb2(x , y) cout << #x << " : " << x << " , "<< #y << " : " << y << endl
#define deb3(x , y , z) cout << #x << " : " << x << " , " << #y << " : " << y << " , " << #z << " : " << z << endl
#define deb4(a , b , c , d) cout << #a << " : " << a << " , " << #b << " : " << b << " , " << #c << " : " << c << " , " << #d << " : " << d << endl

#define debv(x) for(auto i=x.begin();i!=x.end();i++) cout<<*i<<' ';cout<<endl
#define debvv(x) for(auto i=x.begin();i!=x.end();i++){for(auto j=(*i).begin();j!=(*i).end();j++) cout<<*j<<' '; cout<<endl;}cout<<endl
#define debp(x) for(auto i=x.begin();i!=x.end();i++) cout<<i->first<<':'<<i->second<<' ';cout<<endl

#define rep(i,n) 			for(int i = 0; i < n; i++)
#define reps(i,a,n) 		for(int i = a; i < n; i++)

#define rsz(x,n) 			x.clear(); x.resize(n)
#define rrsz(x,a,n) 		x.clear(); x.resize(n,a)

#define all(x) 				x.begin(),x.end()
#define pb 					push_back
#define csl 				ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ls(x) 				((2*(x)) + 1)
#define rs(x) 				((ls(x)) + 1)
#define md(a,b) 			((b)+((a) - (b))/2)
#define endl '\n'
#define INF (1e9 + 7)

void solve(){
	ll n;
	cin >> n;

	vll a(n);
	ll s = 0 , mx = 0;
	rep(i , n){
		cin >> a[i];
		mx = max(mx , a[i]);
		s += a[i];
	}

	if (mx > (s/2)) {
		cout << "T" << endl;
	} else {
		if (s & 1) {
			cout << "HL" << endl;
		} else {
			cout << "T" << endl;
		}
	}

}

int main(){
    csl;

    int testcase = 1;
    cin >> testcase;

	for(int i = 0 ; i < testcase ; i++){
		solve();
	}

    return 0;
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int sum(vector<int>& arr){
    int sum = 0;
    int start = 0;
    for(;start < arr.size() -1;start++){
        sum += arr[start];
    }
    return sum;
}
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        for(int i = 0;i < n;i++){
            cin >> arr[i];
        }
        if(arr[n-1] > sum(arr)){
            cout << "T" << "\n";
        }
        else if(arr.size() > 1 && arr.size()%2 == 0){
            cout << "HL" << "\n";
        }
        else {
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        int maxno = 0;
        int sum = 0;
        for(int i = 0;i < n;i++){
            cin >> arr[i];
            maxno = max(maxno,arr[i]);
            sum += arr[i];
        }
        if(maxno*2 > sum){
            cout << "T" << "\n";
        }
        else if(arr.size() >= 2 && arr.size()%2 == 0){
            cout << "HL" <<"\n";
        }
        else{
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int sum(vector<int>& arr,int start){
    int sum = 0;
    for(;start < arr.size();start++){
        sum += arr[start];
    }
    return sum;
}
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        for(int i = 0;i < n;i++){
            cin >> arr[i];
        }
        if(arr[n-1] > sum(arr,1)){
            cout << "T" << "\n";
        }
        else if(arr.size() > 1 && arr.size()%2 == 0){
            cout << "HL" << "\n";
        }
        else {
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int sum(vector<int>& arr){
    int sum = 0;
    int start = 0;
    for(;start < arr.size() -1;start++){
        sum += arr[start];
    }
    return sum;
}
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        for(int i = 0;i < n;i++){
            cin >> arr[i];
        }
        sort(begin(arr),end(arr));
        if(arr[n-1] > sum(arr)){
            cout << "T" << "\n";
        }
        else if(arr.size() > 1 && arr.size()%2 == 0){
            cout << "HL" << "\n";
        }
        else {
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int sum(vector<int>& arr){
    int sum = 0;
    int start = 0;
    for(;start < arr.size();start++){
        sum += arr[start];
    }
    return sum;
}
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        for(int i = 0;i < n;i++){
            cin >> arr[i];
        }
        sort(begin(arr),end(arr));
        if(arr[n-1] > sum(arr)/2){
            cout << "T" << "\n";
        }
        else if(arr.size() > 1 && arr.size()%2 == 0){
            cout << "HL" << "\n";
        }
        else {
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int sum(vector<int>& arr){
    int sum = 0;
    int start = 0;
    for(;start < arr.size() -1;start++){
        sum += arr[start];
    }
    return sum;
}
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        for(int i = 0;i < n;i++){
            cin >> arr[i];
        }
        sort(begin(arr),end(arr));
        if(arr[n-1] > sum(arr)/2){
            cout << "T" << "\n";
        }
        else if(arr.size() > 1 && arr.size()%2 == 0){
            cout << "HL" << "\n";
        }
        else {
            cout << "T" << "\n";
        }
    }
}


#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main(){
    int tc;
    cin >> tc;
    while(tc--){
        int n;
        cin >> n;
        vector<int> arr(n);
        int maxno = 0;
        int sum = 0;
        for(int i = 0;i < n;i++){
            cin >> arr[i];
            maxno = max(maxno,arr[i]);
            sum += arr[i];
        }
        if(maxno*2 > sum){
            cout << "T" << "\n";
        }
        else if(sum >= 2 && sum%2 == 0){
            cout << "HL" <<"\n";
        }
        else{
            cout << "T" << "\n";
        }
    }
}


#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
    ll t;
    cin>>t;
    while(t--)
    {
        ll n;
        cin>>n;
        ll i,mx=INT_MIN,index=-1,turn=0,prev_index;
        ll a[n],visit[n];
        for(i=0;i<n;i++)
            cin>>a[i];
        memset(visit,0,sizeof(visit));
        ll flag=0,cnt=0;
        while(1)
        {
            cnt=0;
            for(i=0;i<n;i++)
            {
                if(a[i]!=0)
                    break;
            }
            if(i==n)
                flag=1;
            for(i=0;i<n;i++)
            {
                if(!a[i]&&!visit[i])
                    cnt++;
            }
            if(cnt==n-1)
                flag=1;
                if(flag)
                break;
            mx=INT_MIN;
                prev_index=index;
            for(i=0;i<n;i++)
            {
                if(a[i]>mx&&!visit[i])
                {
                    mx=a[i];
                    index=i;
                }
            }
            if(prev_index!=-1)
                visit[prev_index]=0;
            visit[index]=1;
            a[index]--;
            turn=(turn+1)%2;
        }
        if(turn==0)
            cout<<"HL\n";
        else
            cout<<"T\n";
    }
    return 0;
}


#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
    ll t;
    cin>>t;
    while(t--)
    {
        ll n;
        cin>>n;
        ll i,mx=INT_MIN,index=-1,turn=0,prev_index;
        ll a[n],visit[n];
        for(i=0;i<n;i++)
            cin>>a[i];
        memset(visit,0,sizeof(visit));
        ll flag=0,cnt=0;
        while(1)
        {
            cnt=0;
            for(i=0;i<n;i++)
            {
                if(a[i]!=0)
                    break;
            }
            if(i==n)
                flag=1;
            for(i=0;i<n;i++)
            {
                if(a[i]!=0&&visit[i])
                    cnt++;
            }
            if(cnt==1)
                flag=1;
                if(flag)
                break;
            mx=INT_MIN;
                prev_index=index;
            for(i=0;i<n;i++)
            {
                if(a[i]>mx&&!visit[i])
                {
                    mx=a[i];
                    index=i;
                }
            }
            if(prev_index!=-1)
                visit[prev_index]=0;
            visit[index]=1;
            a[index]--;
            turn=(turn+1)%2;
        }
        if(turn==0)
            cout<<"HL\n";
        else
            cout<<"T\n";
    }
    return 0;
}


#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
    ll t;
    cin>>t;
    while(t--)
    {
        ll n;
        cin>>n;
        ll i,mx=INT_MIN,index=-1,turn=0,prev_index;
        ll a[n],visit[n];
        for(i=0;i<n;i++)
            cin>>a[i];
            if(n==1)
                cout<<"T\n";
            else
            {
        memset(visit,0,sizeof(visit));
        ll flag=0,cnt=0;
        while(1)
        {
            cnt=0;
            for(i=0;i<n;i++)
            {
                if(a[i]!=0)
                    break;
            }
            if(i==n)
                flag=1;
            for(i=0;i<n;i++)
            {
                if(!a[i]&&!visit[i])
                    cnt++;
            }
            if(cnt==n-1)
                flag=1;
                if(flag)
                break;
            mx=INT_MIN;
                prev_index=index;
            for(i=0;i<n;i++)
            {
                if(a[i]>mx&&!visit[i])
                {
                    mx=a[i];
                    index=i;
                }
            }
            if(prev_index!=-1)
                visit[prev_index]=0;
            visit[index]=1;
            a[index]--;
            turn=(turn+1)%2;
        }
        if(turn==0)
            cout<<"HL\n";
        else
            cout<<"T\n";
            }
    }
    return 0;
}


/* author:hellojim */
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iomanip>
#include<cstdlib>
#include<ctime>
#include<set>
#include<map>
#include<utility>
#include<queue>
#include<vector>
#include<stack>
#include<sstream>
#include<algorithm>
#define forn(i,a,b)for(int i=(a),_b=(b);i<=_b;i++)
#define fore(i,b,a)for(int i=(b),_a=(a);i>=_a;i--)
#define rep(i,n)for(int i=0,_n=n;i<n;i++)
#define ll long long
#define pii pair<int,int>
#define vi vector<int>
#define vpii vector<pii>
#define m_p make_pair
#define re return
#define pb push_back
#define si set<int>
#define ld long double
#define X first
#define Y second
#define st string
#define ull unsigned long long
#define mod 1000000007
#define INF 1000000007
#define x1 XZVJDFADSPFOE
#define y1 GASDIJSLDAEJF
#define x2 DFDAJKVOHKWIW
#define y2 PSFSAODSXVNMQ
#define LLINF 0x3f3f3f3f3f3f3f3fLL
using namespace std;
inline void read(int &x)
{
	short negative=1;
    x=0;
    char c=getchar();
    while(c<'0' || c>'9')
    {
		if(c=='-')
			negative=-1;
		c=getchar();
	}
    while(c>='0' && c<='9')
        x=(x<<3)+(x<<1)+(c^48),c=getchar();
    x*=negative;
}
ll quickpower(ll n,ll k){
	ll ans=1;
	while(k){
		if(k%2){
			ans*=n;
			ans%=mod;
		}
		n*=n;
		n%=mod;
		k/=2;
	}
	return ans;
}
string int_to_string(int n)
{
	string s="";
	while(n)
	{
		int now=n%10;
		s+=now+'0';
		n/=10;
	}
	reverse(s.begin(),s.end());
	return s;
}
int string_to_int(string s)
{
	int n=0;
	rep(i,s.size())
	{
		n*=10;
		n+=s[i]-'0';
	}
	return n;
}
int main()
{
	ios::sync_with_stdio(0);
	//think twice,code once
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		int a[111];
		cin>>n;
		rep(i,n)cin>>a[i];
		sort(a,a+n);
		reverse(a,a+n);
		ll mx=a[0];
		ll cnt=0;
		rep(i,n)cnt+=a[i];
		if(mx*2>cnt)cout<<"T"<<endl;
		else {
			if(cnt%2)cout<<"T"<<endl;
			else cout<<"HL"<<endl;
		}
	}
	return 0;
}


/* author:hellojim */
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iomanip>
#include<cstdlib>
#include<ctime>
#include<set>
#include<map>
#include<utility>
#include<queue>
#include<vector>
#include<stack>
#include<sstream>
#include<algorithm>
#define forn(i,a,b)for(int i=(a),_b=(b);i<=_b;i++)
#define fore(i,b,a)for(int i=(b),_a=(a);i>=_a;i--)
#define rep(i,n)for(int i=0,_n=n;i<n;i++)
#define ll long long
#define pii pair<int,int>
#define vi vector<int>
#define vpii vector<pii>
#define m_p make_pair
#define re return
#define pb push_back
#define si set<int>
#define ld long double
#define X first
#define Y second
#define st string
#define ull unsigned long long
#define mod 1000000007
#define INF 1000000007
#define x1 XZVJDFADSPFOE
#define y1 GASDIJSLDAEJF
#define x2 DFDAJKVOHKWIW
#define y2 PSFSAODSXVNMQ
#define LLINF 0x3f3f3f3f3f3f3f3fLL
using namespace std;
inline void read(int &x)
{
	short negative=1;
    x=0;
    char c=getchar();
    while(c<'0' || c>'9')
    {
		if(c=='-')
			negative=-1;
		c=getchar();
	}
    while(c>='0' && c<='9')
        x=(x<<3)+(x<<1)+(c^48),c=getchar();
    x*=negative;
}
ll quickpower(ll n,ll k){
	ll ans=1;
	while(k){
		if(k%2){
			ans*=n;
			ans%=mod;
		}
		n*=n;
		n%=mod;
		k/=2;
	}
	return ans;
}
string int_to_string(int n)
{
	string s="";
	while(n)
	{
		int now=n%10;
		s+=now+'0';
		n/=10;
	}
	reverse(s.begin(),s.end());
	return s;
}
int string_to_int(string s)
{
	int n=0;
	rep(i,s.size())
	{
		n*=10;
		n+=s[i]-'0';
	}
	return n;
}
int main()
{
	ios::sync_with_stdio(0);
	//think twice,code once
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		int a[111];
		cin>>n;
		rep(i,n)cin>>a[i];
		sort(a,a+n);
		reverse(a,a+n);
		ll mx=a[0];
		ll cnt=0;
		rep(i,n)cnt+=a[i];
		if(mx*2>cnt)cout<<"T"<<endl;
		else {
			if(sum%2)cout<<"T"<<endl;
			else cout<<"HL"<<endl;
		}
	}
	return 0;
}


/* author:hellojim */
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iomanip>
#include<cstdlib>
#include<ctime>
#include<set>
#include<map>
#include<utility>
#include<queue>
#include<vector>
#include<stack>
#include<sstream>
#include<algorithm>
#define forn(i,a,b)for(int i=(a),_b=(b);i<=_b;i++)
#define fore(i,b,a)for(int i=(b),_a=(a);i>=_a;i--)
#define rep(i,n)for(int i=0,_n=n;i<n;i++)
#define ll long long
#define pii pair<int,int>
#define vi vector<int>
#define vpii vector<pii>
#define m_p make_pair
#define re return
#define pb push_back
#define si set<int>
#define ld long double
#define X first
#define Y second
#define st string
#define ull unsigned long long
#define mod 1000000007
#define INF 1000000007
#define x1 XZVJDFADSPFOE
#define y1 GASDIJSLDAEJF
#define x2 DFDAJKVOHKWIW
#define y2 PSFSAODSXVNMQ
#define LLINF 0x3f3f3f3f3f3f3f3fLL
using namespace std;
inline void read(int &x)
{
	short negative=1;
    x=0;
    char c=getchar();
    while(c<'0' || c>'9')
    {
		if(c=='-')
			negative=-1;
		c=getchar();
	}
    while(c>='0' && c<='9')
        x=(x<<3)+(x<<1)+(c^48),c=getchar();
    x*=negative;
}
ll quickpower(ll n,ll k){
	ll ans=1;
	while(k){
		if(k%2){
			ans*=n;
			ans%=mod;
		}
		n*=n;
		n%=mod;
		k/=2;
	}
	return ans;
}
string int_to_string(int n)
{
	string s="";
	while(n)
	{
		int now=n%10;
		s+=now+'0';
		n/=10;
	}
	reverse(s.begin(),s.end());
	return s;
}
int string_to_int(string s)
{
	int n=0;
	rep(i,s.size())
	{
		n*=10;
		n+=s[i]-'0';
	}
	return n;
}
int main()
{
	ios::sync_with_stdio(0);
	//think twice,code once
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		int a[111];
		cin>>n;
		rep(i,n)cin>>a[i];
		sort(a,a+n);
		reverse(a,a+n);
		ll sum1,sum2;
		sum1=0,sum2=0;
		for(int i=0;i<n;i+=2)sum1+=a[i];
		for(int i=1;i<n;i+=2)sum2+=a[i];
		if(n%2)
		{
			cout<<"T\n";
		}
		else
		{
			if(sum1<=sum2)cout<<"HL\n";
			else cout<<"T\n";
		}
	}
	return 0;
}


/* author:hellojim */
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iomanip>
#include<cstdlib>
#include<ctime>
#include<set>
#include<map>
#include<utility>
#include<queue>
#include<vector>
#include<stack>
#include<sstream>
#include<algorithm>
#define forn(i,a,b)for(int i=(a),_b=(b);i<=_b;i++)
#define fore(i,b,a)for(int i=(b),_a=(a);i>=_a;i--)
#define rep(i,n)for(int i=0,_n=n;i<n;i++)
#define ll long long
#define pii pair<int,int>
#define vi vector<int>
#define vpii vector<pii>
#define m_p make_pair
#define re return
#define pb push_back
#define si set<int>
#define ld long double
#define X first
#define Y second
#define st string
#define ull unsigned long long
#define mod 1000000007
#define INF 1000000007
#define x1 XZVJDFADSPFOE
#define y1 GASDIJSLDAEJF
#define x2 DFDAJKVOHKWIW
#define y2 PSFSAODSXVNMQ
#define LLINF 0x3f3f3f3f3f3f3f3fLL
using namespace std;
inline void read(int &x)
{
	short negative=1;
    x=0;
    char c=getchar();
    while(c<'0' || c>'9')
    {
		if(c=='-')
			negative=-1;
		c=getchar();
	}
    while(c>='0' && c<='9')
        x=(x<<3)+(x<<1)+(c^48),c=getchar();
    x*=negative;
}
ll quickpower(ll n,ll k){
	ll ans=1;
	while(k){
		if(k%2){
			ans*=n;
			ans%=mod;
		}
		n*=n;
		n%=mod;
		k/=2;
	}
	return ans;
}
string int_to_string(int n)
{
	string s="";
	while(n)
	{
		int now=n%10;
		s+=now+'0';
		n/=10;
	}
	reverse(s.begin(),s.end());
	return s;
}
int string_to_int(string s)
{
	int n=0;
	rep(i,s.size())
	{
		n*=10;
		n+=s[i]-'0';
	}
	return n;
}
int main()
{
	ios::sync_with_stdio(0);
	//think twice,code once
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		int a[111];
		cin>>n;
		rep(i,n)cin>>a[i];
		ll sum1,sum2;
		sum1=0,sum2=0;
		for(int i=0;i<n;i+=2)sum1+=a[i];
		for(int i=1;i<n;i+=2)sum2+=a[i];
		if(n%2)
		{
			cout<<"T\n";
		}
		else
		{
			if(sum1<=sum2)cout<<"HL\n";
			else cout<<"T\n";
		}
	}
	return 0;
}


#include <iostream>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cctype>
#include <functional>
#include <string>
#include <cstring>
#include <sstream>
#include <deque>
#define fir first
#define sec second
using namespace std;

typedef long long ll;
typedef pair<int,int> P;
typedef pair<P,int> Q;

const int inf1=1e9+9;
const ll inf2=1e16+9;
const ll mol=1e9+7;
const int maxn=1e5+9;
const ll maxx=1e12+9;

int n;
ll ar[maxn];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&ar[i]);
        sort(ar,ar+n);
        if(n==1) {printf("T\n");continue;}
        while(ar[n-2])
        {
            for(int i=n-1;i;i-=2) ar[i]-=ar[i-1],ar[i-1]=0;
            sort(ar,ar+n);
        }
        if(ar[n-1]) printf("T\n");
        else printf("HL\n");
    }
}


#include <iostream>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cctype>
#include <functional>
#include <string>
#include <cstring>
#include <sstream>
#include <deque>
#define fir first
#define sec second
using namespace std;

typedef long long ll;
typedef pair<int,int> P;
typedef pair<P,int> Q;

const int inf1=1e9+9;
const ll inf2=1e16+9;
const ll mol=1e9+7;
const int maxn=1e5+9;
const ll maxx=1e12+9;

int n,ar[maxn];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&ar[i]);
        sort(ar,ar+n);
        int sum=0;
        for(int i=0;i<n;i++) sum+=ar[i];
        if(ar[n-1]>sum-ar[n-1]||sum&1) printf("T\n");
        else printf("HL\n");

    }
}


#include <iostream>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cctype>
#include <functional>
#include <string>
#include <cstring>
#include <sstream>
#include <deque>
#define fir first
#define sec second
using namespace std;

typedef long long ll;
typedef pair<int,int> P;
typedef pair<P,int> Q;

const int inf1=1e9+9;
const ll inf2=1e16+9;
const ll mol=1e9+7;
const int maxn=1e5+9;
const ll maxx=1e12+9;

int n;
ll ar[maxn];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&ar[i]);
        sort(ar,ar+n);
        if(n==1) {printf("T\n");continue;}
        while(ar[n-2])
        {
            for(int i=n-1;i>0;i-=2) ar[i]-=ar[i-1],ar[i-1]=0;
            sort(ar,ar+n);
        }
        if(ar[n-1]) printf("T\n");
        else printf("HL\n");
    }
}


#include <iostream>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cctype>
#include <functional>
#include <string>
#include <cstring>
#include <sstream>
#include <deque>
#define fir first
#define sec second
using namespace std;

typedef long long ll;
typedef pair<int,int> P;
typedef pair<P,int> Q;

const int inf1=1e9+9;
const ll inf2=1e16+9;
const ll mol=1e9+7;
const int maxn=1e5+9;
const ll maxx=1e12+9;

int n,ar[maxn];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&ar[i]);
        int sum=0;
        for(int i=0;i<n;i++) sum+=ar[i];
        if(ar[n-1]>sum-ar[n-1]||sum&1) printf("T\n");
        else printf("HL\n");

    }
}


#include <iostream>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cctype>
#include <functional>
#include <string>
#include <cstring>
#include <sstream>
#include <deque>
#define fir first
#define sec second
using namespace std;

typedef long long ll;
typedef pair<int,int> P;
typedef pair<P,int> Q;

const int inf1=1e9+9;
const ll inf2=1e16+9;
const ll mol=1e9+7;
const int maxn=1e5+9;
const ll maxx=1e12+9;

int n;
ll ar[maxn];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&ar[i]);
        {
            if(n&1) printf("T\n");
            else printf("HL\n");
            continue;
        }
        sort(ar,ar+n);
        if(n==1) {printf("T\n");continue;}
        while(ar[n-2])
        {
            for(int i=n-1;i>0;i-=2) ar[i]-=ar[i-1],ar[i-1]=0;
            sort(ar,ar+n);
        }
        if(ar[n-1]) printf("T\n");
        else printf("HL\n");
    }
}


#include<cstdio>
#include<iostream>
using namespace std;
int a[105];
int main(){
	int T,n,maxx = -1,sum; scanf("%d",&T);
	while(T--){
		scanf("%d",&n); maxx = -1; sum = 0;
		for(int i = 1;i <= n;++i){
			scanf("%d",&a[i]);
			maxx = max(maxx,a[i]);
			sum += a[i];
		}
		if(maxx > sum/2) puts("T");
		else{
			if(sum & 1) puts("T");
			else puts("HL");
		}
	}
}


#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int a[N];

signed main() {
	int t;
	cin>>t;
	while(t--) {
		int n,ans=0;
		cin>>n;
		for (int i=1;i<=n;++i)cin>>a[i], ans^= a[i] & 1;
		if(n==1){
			puts(a[1]?"T":"HL");
			continue;
		}
		puts(ans ? "T":"HL");
		for(int i=1;i<=n;++i)a[i]=0;
	}

	return 0;
}


#include<cstdio>
#include<iostream>
using namespace std;
int a[105];
int main(){
	int T,n,maxx = -1,sum; scanf("%d",&T);
	while(T--){
		scanf("%d",&n);
		for(int i = 1;i <= n;++i){
			scanf("%d",&a[i]);
			maxx = max(maxx,a[i]);
			sum += a[i];
		}
		if(maxx > sum/2) puts("T");
		else{
			if(sum & 1) puts("T");
			else puts("HL");
		}
	}
}


#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int a[N];

signed main() {
	int t;
	cin>>t;
	while(t--) {
		int n,ans=0;
		cin>>n;
		for (int i=1;i<=n;++i)cin>>a[i], ans^= a[i] & 1;
		if(n==1){
			puts(a[1]?"T":"HT");
			continue;
		}
		puts(ans ? "T":"HT");
		for(int i=1;i<=n;++i)a[i]=0;
	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;
long long a[100010];
priority_queue <pair<int,int> >q;
int main()
{
    int t,n;
	cin>>t;
	while(t--)
    {
        int pre=-1,counter=1;
        while(!q.empty())q.pop();
		cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i],q.push({a[i],i});
        if(n==1||(n==2&&a[1]!=a[2])) {cout<<"T"<<endl;continue;}
        if(n==2&&a[1]==a[2]) {cout<<"HL"<<endl;continue;}
        while(q.top().first)
        {
            int x=q.top().first,y=q.top().second;
            q.pop();
            if(y==pre)
            {
                if(q.top().first==0) break;
                int x2=x,y2=y;
                x=q.top().first;y=q.top().second;
                q.pop();
                q.push({x2,y2});
            }
            q.push({x-1,y});
            counter++;
        }
        cout<<counter<<" ";
        if(counter%2) cout<<"HL"<<endl;
        else cout<<"T"<<endl;
	}
}


#include<bits/stdc++.h>
using namespace std;
long long a[100010];
priority_queue <pair<int,int> >q;
int main()
{
    int t,n;
	cin>>t;
	while(t--)
    {
        int pre=-1,counter=1;
        while(!q.empty())q.pop();
		cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i],q.push({a[i],i});
        if(n==1||(n==2&&a[1]!=a[2])) {cout<<"T"<<endl;continue;}
        if(n==2&&a[1]==a[2]) {cout<<"HL"<<endl;continue;}
        while(q.top().first)
        {
            int x=q.top().first,y=q.top().second;
            q.pop();
            if(y==pre)
            {
                if(q.top().first==0) break;
                int x2=x,y2=y;
                x=q.top().first;y=q.top().second;
                q.pop();
                q.push({x2,y2});
            }
            q.push({x-1,y});
            counter++;
        }
        if(counter%2) cout<<"HL"<<endl;
        else cout<<"T"<<endl;
	}
}


#include<bits/stdc++.h>
using namespace std;
long long a[100010];
priority_queue <pair<int,int> >q;
int main()
{
    int t,n;
	cin>>t;
	while(t--)
    {
        int pre=-1,counter=1;
		cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i],q.push({a[i],i});
        if(n==1||(n==2&&a[1]!=a[2])) {cout<<"T"<<endl;continue;}
        if(n==2&&a[1]==a[2]) {cout<<"HL"<<endl;continue;}
        while(q.top().first)
        {
            int x=q.top().first,y=q.top().second;
            q.pop();
            if(y==pre)
            {
                if(q.top().first==0) break;
                int x2=x,y2=y;
                x=q.top().first;y=q.top().second;
                q.pop();
                q.push({x2,y2});
            }
            q.push({x-1,y});
            counter++;
        }
        while(!q.empty())q.pop();
        if(counter%2) cout<<"T"<<endl;
        else cout<<"HL"<<endl;
	}
}


#include<bits/stdc++.h>
using namespace std;
long long a[100010];
priority_queue <pair<int,int> >q;
int main()
{
    int t,n;
	cin>>t;
	while(t--)
    {
        int pre=-1,counter=1;
        while(!q.empty())q.pop();
		cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i],q.push({a[i],i});
        if(n==1||(n==2&&a[1]!=a[2])) {cout<<"T"<<endl;continue;}
        if(n==2&&a[1]==a[2]) {cout<<"HL"<<endl;continue;}
        while(q.top().first)
        {
            int x=q.top().first,y=q.top().second;
            q.pop();
            if(y==pre)
            {
                if(q.top().first==0) break;
                int x2=x,y2=y;
                x=q.top().first;y=q.top().second;
                q.pop();
                q.push({x2,y2});
            }
            pre=y;
            q.push({x-1,y});
            counter++;
        }
        //cout<<counter<<endl;
        if(counter%2) cout<<"HL"<<endl;
        else cout<<"T"<<endl;
	}
}


using namespace std;
#include<bits/stdc++.h>
typedef long long   LL;
typedef long long   ll;
typedef   pair<LL,LL>  PII;
typedef   vector< PII > VPII;
typedef   vector<long long>   VI;
typedef   map<string,LL>  MSI;
typedef   map<LL,LL>  MII;
///Print
#define R(n)       scanf("%lld", &n)
#define P(a)  printf("%lld\n",a)
#define NL printf("\n")
#define case(no) printf("Case %lld: ",++no)
#define casenl(no) printf("Case %lld:\n",++no)
///LOOP
#define rep(x,n) for(__typeof(n) x=0;x<(n);x++)
#define reps(i,x) for(int  i=0;i<(x.size());i++)
#define repp(x,n) for(__typeof(n) x=1;x<=(n);x++)
#define FORSTL(x,n) for(__typeof(n.begin()) x=n.begin();x!=n.end();x++)
///Shortcut
#define mem(ar,value) memset(ar,value,sizeof(ar))
#define all(x) x.begin(),x.end()
#define Unique(store) store.resize(unique(store.begin(),store.end())-store.begin())
#define len(s) s.size()
#define MP make_pair
#define PB push_back
#define FF first
#define SS second
///Min AND Max
#define MIN3(a,b,c) min(a,min(b,c))
#define MAX3(a,b,c) max(a,max(b,c))
#define EPS (1e-9)
#define PI acos(-1.0)
#define isEq(a,b) (fabs((a)-(b))<eps)
#define Fast ios_base::sync_with_stdio(false); cin.tie(false);
///DEBUG
#define D(x) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<endl;
#define DD(x,y) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<" | "#y" = "<<y<<endl;
#define DDD(x,y,z) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<" | "#y" = "<<y<<" | "#z" ="<<z<<endl;
///Gcd and Lcm
template<class T>T gcd(T a,T b){return b == 0 ? a : gcd(b, a % b);}
template<typename T>T lcm(T a, T b) {return a / gcd(a,b) * b;}
///Bigmod && Pow
template<class T>T my_pow(T n,T p){if(p==0)return 1;T x=my_pow(n,p/2);x=(x*x);if(p&1)x=(x*n);return x;} ///n to the power p
template<class T>T big_mod(T n,T p,T m){if(p==0)return (T)1;T x=big_mod(n,p/2,m);x=(x*x)%m;if(p&1)x=(x*n)%m;return x;}
///string to int
template <class T> T extract(string s, T ret) {stringstream ss(s); ss >> ret; return ret;}///
string itos(LL n){string s;while(n){s+=(n%10+48);n/=10;}reverse(all(s));return s;}
LL stoi(string s){LL n=0;rep(i,len(s))n=n*10+(s[i]-48);return n;}
//struct info{LL x,y;}arr[100005];bool com(info a,info b){return (a.x<b.x) or (a.x==b.x anda.y<b.y);}
LL ar[100001],br[100001];
LL a=0,b=0,c=0,r=0,rr=0,res=0,n,m,t=0,ks=0,w;
string  s;

int main()
{
    //Fast;

    cin>>n;

    if(n<=1)
    {
        cout<<"YES\n";

        return 0;
    }

    rep(i,n)cin>>ar[i];

    rep(i,n)
    {
        if(ar[i]==0)c++;
    }

    if(c<=1  and ar[n-1]!=0)printf("YES");
    else printf("NO");

   return 0;

}


using namespace std;
#include<bits/stdc++.h>
typedef long long   LL;
typedef long long   ll;
typedef   pair<LL,LL>  PII;
typedef   vector< PII > VPII;
typedef   vector<long long>   VI;
typedef   map<string,LL>  MSI;
typedef   map<LL,LL>  MII;
///Print
#define R(n)       scanf("%lld", &n)
#define P(a)  printf("%lld\n",a)
#define NL printf("\n")
#define case(no) printf("Case %lld: ",++no)
#define casenl(no) printf("Case %lld:\n",++no)
///LOOP
#define rep(x,n) for(__typeof(n) x=0;x<(n);x++)
#define reps(i,x) for(int  i=0;i<(x.size());i++)
#define repp(x,n) for(__typeof(n) x=1;x<=(n);x++)
#define FORSTL(x,n) for(__typeof(n.begin()) x=n.begin();x!=n.end();x++)
///Shortcut
#define mem(ar,value) memset(ar,value,sizeof(ar))
#define all(x) x.begin(),x.end()
#define Unique(store) store.resize(unique(store.begin(),store.end())-store.begin())
#define len(s) s.size()
#define MP make_pair
#define PB push_back
#define FF first
#define SS second
///Min AND Max
#define MIN3(a,b,c) min(a,min(b,c))
#define MAX3(a,b,c) max(a,max(b,c))
#define EPS (1e-9)
#define PI acos(-1.0)
#define isEq(a,b) (fabs((a)-(b))<eps)
#define Fast ios_base::sync_with_stdio(false); cin.tie(false);
///DEBUG
#define D(x) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<endl;
#define DD(x,y) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<" | "#y" = "<<y<<endl;
#define DDD(x,y,z) cerr<<__FUNCTION__<<":"<<__LINE__<<": "#x" = "<<x<<" | "#y" = "<<y<<" | "#z" ="<<z<<endl;
///Gcd and Lcm
template<class T>T gcd(T a,T b){return b == 0 ? a : gcd(b, a % b);}
template<typename T>T lcm(T a, T b) {return a / gcd(a,b) * b;}
///Bigmod && Pow
template<class T>T my_pow(T n,T p){if(p==0)return 1;T x=my_pow(n,p/2);x=(x*x);if(p&1)x=(x*n);return x;} ///n to the power p
template<class T>T big_mod(T n,T p,T m){if(p==0)return (T)1;T x=big_mod(n,p/2,m);x=(x*x)%m;if(p&1)x=(x*n)%m;return x;}
///string to int
template <class T> T extract(string s, T ret) {stringstream ss(s); ss >> ret; return ret;}///
string itos(LL n){string s;while(n){s+=(n%10+48);n/=10;}reverse(all(s));return s;}
LL stoi(string s){LL n=0;rep(i,len(s))n=n*10+(s[i]-48);return n;}
//struct info{LL x,y;}arr[100005];bool com(info a,info b){return (a.x<b.x) or (a.x==b.x anda.y<b.y);}
LL ar[100001],br[100001];
LL a=0,b=0,c=0,r=0,rr=0,res=0,n,m,t=0,ks=0,w;
string  s;

int main()
{
    //Fast;

    cin>>n;

    if(n<=1)
    {
        cout<<"YES\n";

        return 0;
    }

    rep(i,n)cin>>ar[i];

    rep(i,n)
    {
        if(ar[i]==0)
            c++;

    }

    if(c==1 )printf("YES");

    else if(c==2  and ar[n-1]==0)  printf("YES");
    else printf("NO");

   return 0;

}