rt。
#include<bits/stdc++.h>
#define int long long
using namespace std;
int q,n,m,sum=0,ans[10];
int id(int x,int y){ return (x-1)*m+y; }
int f(int op,int x){
int u;
if(!op) u=(id(x-1,m)+1)*id(x-1,m)/2;
else u=(id(n,1)+1)*n/2*(x-1)+(x-1)*(x-2)/2*n;
return u;
}
signed main(){
cin>>q;
while(q--){
cin>>n>>m;
memset(ans,0,sizeof(ans));
sum=(n*m+1)*n*m/2;
int l=2,r=m,mid;
while(l<=r){
mid=(l+r)>>1;
if(f(1,mid)>=sum-f(1,mid)){
r=mid-1;
ans[2]=mid;
}
else l=mid+1;
}
l=2,r=m;
while(l<=r){
mid=(l+r)>>1;
if(f(1,mid)<=sum-f(1,mid)){
l=mid+1;
ans[1]=mid;
}
else r=mid-1;
}
l=2,r=n;
while(l<=r){
mid=(l+r)>>1;
if(f(0,mid)>=sum-f(0,mid)){
r=mid-1;
ans[4]=mid;
}
else l=mid+1;
}
l=2,r=n;
while(l<=r){
mid=(l+r)>>1;
if(f(0,mid)<=sum-f(0,mid)){
l=mid+1;
ans[3]=mid;
}
else r=mid-1;
}
int minn=INT_MAX,anss;
for(int i=1;i<=(n==1?2:4);i++){
if(max(f((i<=2?1:0),ans[i]),sum-f((i<=2?1:0),ans[i]))<minn){
minn=max(f((i<=2?1:0),ans[i]),sum-f((i<=2?1:0),ans[i]));
anss=i;
}
}
cout<<(anss<=2?"V ":"H ")<<ans[anss]<<endl;
}
return 0;
}