#include <bits/stdc++.h>
#define ll long long
using namespace std ;
struct c {
ll f , p ;
} fs[110] , xf[110] ;
bool cmp ( c x , c y ) {
if ( x.p == y.p ) return x.f < y.f ;
else return x.p < y.p ;
}
ll t , n , m , r , s ;
void jp ( int p , c x ) ;
void cp ( int p ) {
int flag = 1 ;
if ( p == 1 ) {
for ( int i = 1 ; i <= n ; i++ ) {
if ( fs[i].f != 0 ) {
c temp = fs[i] ;
flag = 1 ;
fs[i].f = 0;
jp ( 2 , temp ) ;
}
}
if ( !flag ) {
cout << "FS wins!\n" ;
return ;
}
} else {
for ( int i = 1 ; i <= n ; i++ ) {
if ( fs[i].f != 0 ) {
c temp = xf[i] ;
flag = 1 ;
xf[i].f = 0;
jp ( 2 , temp ) ;
}
}
if ( !flag ) {
cout << "FR wins!\n" ;
return ;
}
}
}
void jp ( int p , c x ) {
int flag = 0 ;
if ( p == 1 ) {
for ( int i = 1 ; i <= n ; i++ ) {
if ( xf[i].f == x.f && xf[i].p > x.p ) {
flag = 1 ;
c temp = fs[i] ;
fs[i].f = 0 ;
jp ( 2 , temp ) ;
}
}
if ( !flag ) cp ( 2 ) ;
} else {
for ( int i = 1 ; i <= n ; i++ ) {
if ( fs[i].f == x.f && fs[i].p > x.p ) {
flag = 1 ;
c temp = xf[i] ;
xf[i].f = 0 ;
jp ( 2 , temp ) ;
}
}
if ( !flag ) cp ( 2 ) ;
}
}
int main() {
cin >> t ;
while ( t-- ) {
cin >> n >> m >> r >> s ;
for ( ll i = 1 ; i <= n ; i++ ) cin >> fs[i].f ;
for ( ll i = 1 ; i <= n ; i++ ) cin >> fs[i].p ;
for ( ll i = 1 ; i <= n ; i++ ) cin >> xf[i].f ;
for ( ll i = 1 ; i <= n ; i++ ) cin >> xf[i].p ;
sort ( fs + 1 , fs + 1 + n , cmp ) ;
sort ( xf + 1 , xf + 1 + n , cmp ) ;
}
return 0 ;
}