/* MIDI Olympiad in Informatics 2007
 * Scissors reference solutions
 * by Daumilas Ardickas
 */

#include <algorithm>
#include <ctime>
using namespace std;
const int maxn=500, maxt=1000;
void gerinti(int &x, int y){
    if(!(x%2)){
        if(y%2||x>y) x=y;
    } else if (y%2&&x<y) x=y;
}
int main(){
    freopen("scissors.in", "r", stdin);
    freopen("scissors.out", "w", stdout);
    int a[maxn+1][maxn+1], i, j, k, x, mn=0;
    int m[maxt], n[maxt], t;
    scanf("%i", &t);
    for(i=0; i<t; ++i) {
        scanf("%i%i", &m[i], &n[i]);
        mn=max(mn, max(m[i], n[i]));
    }
    a[1][1]=0;
    for(i=1; i<=mn; ++i) for(j=1; j<=mn; ++j) if((i!=1||j!=1)&&i<=j){
        x=2*mn*mn;
        for(k=1;k<i;++k) gerinti(x, max(a[k][j], a[i-k][j])+1);
        for(k=1;k<j;++k) gerinti(x, max(a[i][k], a[i][j-k])+1);
        a[i][j]=a[j][i]=x;
    }
    for(k=0;k<t;++k) {
        if (a[m[k]][n[k]]%2){
            i=1;
            while (i<m[k]&&(max(a[i][n[k]], a[m[k]-i][n[k]])%2)) ++i;
            if (i<m[k]) printf ("V %i\n", i);
            else {
                j=1;
                while (j<n[k]&&(max(a[m[k]][j], a[m[k]][n[k]-j])%2)) ++j;
                printf ("H %i\n", j);
            }
        } else printf ("-1\n");
    }
    return 0;
}
