#include<bits/stdc++.h>
using namespace std ;
const int T = 1005 ;
const int ABCD = 1e8+5 ;
int t , a , b , c , d ;
string s ;
bool Q(){ return a==c || b==d || abs(a-c)==abs(b-d) ; }
bool R(){ return a==c || b==d ; }
bool B(){ return abs(a-c)==abs(b-d) ; }
bool N(){ return min(abs(a-c),abs(b-d))==1 && max(abs(a-c),abs(b-d))==2 ; }
bool K(){ return max(abs(a-c),abs(b-d))<=1 ; }
bool P(){ return c==a+1 && b==d ; }
int main(){
cin >> t ;
while(t--){
cin >> s >> a >> b >> c >> d ;
bool flag1 = false , flag2 = false ;
for(int i=0 ; i<s.size() ; i++){
if(s[i]=='Q') flag1 |= Q() , flag2 = true ;
else if(s[i]=='R') flag1 |= R() , flag2 = true ;
else if(s[i]=='B') flag1 |= B() , flag2 = true ;
else if(s[i]=='N') flag1 |= N() ;
else if(s[i]=='K') flag1 |= K() ;
else flag1 |= P() ;
}
if(flag1) cout << "1\n" ;
else if(flag2) cout << "2\n" ;
if(flag1 || flag2) continue ;
if(s.size()==1 && s[0]=='P'){
if(c>a && b==d) cout << c-a << '\n' ;
else cout << "-1\n" ;
continue ;
}
;
}
return 0 ;
}