// nouse1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <math.h>
void main()
{
int t;
int i;
int king=63;
int queen=63;
int rook=63;
int bishop=63;
char src[2],dest[2];
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%s",src);
scanf("%s",dest);
if(strcmp(src,dest) == 0)
{
printf("0 0 0 0/n");
}
else
{
if(src[0]-dest[0] ==0)
king = abs(src[1]-dest[1]);
else if(src[1]-dest[1] == 0)
king = abs(src[0]-src[0]);
else
{
if(abs(src[0]-dest[0]) < abs(src[1]-dest[1])) //王的步数为:max(x, y) !!
king = abs(src[1]-dest[1]);
else
king = abs(src[0]-dest[0]);
}
if( (src[0]-dest[0] ==0) || (src[1]-dest[1] == 0)
|| ( abs(src[0]-dest[0]) == abs(src[1]-dest[1])))
queen = 1;
else
queen = 2;
if((src[0]-dest[0] ==0) || (src[1]-dest[1] == 0))
rook = 1;
else
rook = 2;
if( abs(src[0]-dest[0])%2 == 0 && abs(src[1]-dest[1])%2 == 1)
bishop = 63;
else if(abs(src[0]-dest[0])%2 == 1 && abs(src[1]-dest[1])%2 == 0)
bishop = 63;
else if( abs(src[0]-dest[0]) == abs(src[1]-dest[1]))
bishop = 1;
else
bishop = 2;
if(bishop == 63)
printf("%d %d %d Inf/n",king,queen,rook);
else
printf("%d %d %d %d/n",king,queen,rook,bishop);
}
}
}