//#define DEBUG //comment when you have to disable all debug macros.
//#define LOCAL //uncomment for testing from local file
#define NDEBUG //comment when all assert statements have to be enabled.
#include <iostream>
#include <cstring>
#include <sstream>
#include <fstream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <bitset>
#include <climits>
#include <ctime>
#include <algorithm>
#include <functional>
#include <stack>
#include <queue>
#include <list>
#include <deque>
#include <sys/time.h>
#include <iomanip>
#include <cstdarg>
#include <utility> //std::pair
#include <cassert>
#define fd(i,a) for(i=1;i<=a;i++)
#define fa(i,a,b) for(i=a;i<=b;i++)
#define fs(i,a,b,c) for(i=a;i<=b;i+=c)
#define tr(c,i) for(typeof(c.begin()) i = (c).begin(); i != (c).end(); i++)
#define present(c,x) ((c).find(x) != (c).end())
#define all(x) x.begin(), x.end()
#define clr(x,y) memset(x,y,sizeof x)
#define log2(x) (log(x)/log(2))
#define ARRAY_SIZE(arr) (1[&arr]-arr)
#define INDEX(arr,elem) (lower_bound(all(arr),elem)-arr.begin())
#define equals(a,b) (a.compareTo(b)==0) //for strings only
template<class P, class Q> inline void smin(P &a, Q b) { if (b < a) a = b; }
template<class P, class Q> inline void smax(P &a, Q b) { if (a < b) a = b; }
#define pb push_back
#define mp make_pair
#define lld long long int
#define MOD 1000000007
#define gcd __gcd
using namespace std;
#ifdef DEBUG
#define debug(args...) {dbg,args; cerr<<endl;}
#else
#define debug(args...) // Just strip off all debug tokens
#endif
struct debugger
{
template<typename T> debugger& operator , (const T& v)
{
cerr<<v<<" ";
return *this;
}
}dbg;
template<class T>
inline void inputInt(T &n )
{
n=0;
T ch=getchar_unlocked();
/*int sign=1;
while(( ch < '0' || ch > '9') && ch!='-')
ch=getchar_unlocked();
if(ch=='-')
{
sign=-1;
ch=getchar_unlocked();
}
while( ch >= '0' && ch <= '9' )
n = (n<<3)+(n<<1) + ch-'0', ch=getchar_unlocked();
n*=sign;*/
while( ch < '0' || ch > '9')
ch=getchar_unlocked();
while( ch >= '0' && ch <= '9' )
n = (n<<3)+(n<<1) + ch-'0', ch=getchar_unlocked();
}
inline void inputStr(string &str){
str="";
char ch = getchar_unlocked();
debug(ch);
int i=0;
while(ch<33){ch=getchar_unlocked();}
while(ch!='\n'){str+=ch;ch=getchar_unlocked();}
}
int main()
{
int T,n,m;
string s;
inputInt(T);
while(T--){
inputInt(n);
inputInt(m);
cin.clear();
cin>>s;
int len = s.length(), L,U,R,D, h=0, v=0;
//debug("yo",s);
bool safe=true;
L=U=R=D=0;
for(int i=0;i<len;i++)
{
if(s[i]=='L')h--;
else if(s[i]=='R')h++;
else if(s[i]=='U')v++;
else v--;
if(h<0 && abs(h)>L)L=abs(h);
else if(h>0 && abs(h)>R)R=abs(h);
if(v<0 && abs(v)>D)D=abs(v);
else if(v>0 && abs(v)>U)U=abs(v);
//debug(h,v,L,R,U,D,m,n);
if(L+R>=m || U+D>=n){
safe=false;
break;
}
}
printf("%s\n",safe?"safe":"unsafe");
}
}
Ly8jZGVmaW5lIERFQlVHICAgICAgIC8vY29tbWVudCB3aGVuIHlvdSBoYXZlIHRvIGRpc2FibGUgYWxsIGRlYnVnIG1hY3Jvcy4KLy8jZGVmaW5lIExPQ0FMICAgICAvL3VuY29tbWVudCBmb3IgdGVzdGluZyBmcm9tIGxvY2FsIGZpbGUKI2RlZmluZSBOREVCVUcgICAgLy9jb21tZW50IHdoZW4gYWxsIGFzc2VydCBzdGF0ZW1lbnRzIGhhdmUgdG8gYmUgZW5hYmxlZC4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxmc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8Yml0c2V0PgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxsaXN0PgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxzeXMvdGltZS5oPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNzdGRhcmc+CiNpbmNsdWRlIDx1dGlsaXR5PiAvL3N0ZDo6cGFpcgojaW5jbHVkZSA8Y2Fzc2VydD4KCiNkZWZpbmUgZmQoaSxhKSBmb3IoaT0xO2k8PWE7aSsrKQojZGVmaW5lIGZhKGksYSxiKSBmb3IoaT1hO2k8PWI7aSsrKQojZGVmaW5lIGZzKGksYSxiLGMpIGZvcihpPWE7aTw9YjtpKz1jKQojZGVmaW5lIHRyKGMsaSkgZm9yKHR5cGVvZihjLmJlZ2luKCkpIGkgPSAoYykuYmVnaW4oKTsgaSAhPSAoYykuZW5kKCk7IGkrKykgCiNkZWZpbmUgcHJlc2VudChjLHgpICgoYykuZmluZCh4KSAhPSAoYykuZW5kKCkpIAojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBjbHIoeCx5KSBtZW1zZXQoeCx5LHNpemVvZiB4KQojZGVmaW5lIGxvZzIoeCkgKGxvZyh4KS9sb2coMikpCiNkZWZpbmUgQVJSQVlfU0laRShhcnIpICgxWyZhcnJdLWFycikgICAgICAKI2RlZmluZSBJTkRFWChhcnIsZWxlbSkgICAgICAgIChsb3dlcl9ib3VuZChhbGwoYXJyKSxlbGVtKS1hcnIuYmVnaW4oKSkKI2RlZmluZSBlcXVhbHMoYSxiKSAoYS5jb21wYXJlVG8oYik9PTApICAgIC8vZm9yIHN0cmluZ3Mgb25seQp0ZW1wbGF0ZTxjbGFzcyBQLCBjbGFzcyBRPiBpbmxpbmUgdm9pZCBzbWluKFAgJmEsIFEgYikgeyBpZiAoYiA8IGEpIGEgPSBiOyB9CnRlbXBsYXRlPGNsYXNzIFAsIGNsYXNzIFE+IGlubGluZSB2b2lkIHNtYXgoUCAmYSwgUSBiKSB7IGlmIChhIDwgYikgYSA9IGI7IH0KCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgbGxkIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGdjZCBfX2djZAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNpZmRlZiBERUJVRwojZGVmaW5lIGRlYnVnKGFyZ3MuLi4pICAgICAgICAgICAge2RiZyxhcmdzOyBjZXJyPDxlbmRsO30KI2Vsc2UKI2RlZmluZSBkZWJ1ZyhhcmdzLi4uKSAgICAgICAgICAgICAgLy8gSnVzdCBzdHJpcCBvZmYgYWxsIGRlYnVnIHRva2VucwojZW5kaWYKCnN0cnVjdCBkZWJ1Z2dlcgp7CiAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gZGVidWdnZXImIG9wZXJhdG9yICwgKGNvbnN0IFQmIHYpCiAgeyAgICAKICAgIGNlcnI8PHY8PCIgIjsgICAgCiAgICByZXR1cm4gKnRoaXM7ICAgIAogIH0KCn1kYmc7Cgp0ZW1wbGF0ZTxjbGFzcyBUPgppbmxpbmUgdm9pZCBpbnB1dEludChUICZuICkKewogIG49MDsKCiAgVCBjaD1nZXRjaGFyX3VubG9ja2VkKCk7CiAgLyppbnQgc2lnbj0xOwogICAgd2hpbGUoKCBjaCA8ICcwJyB8fCBjaCA+ICc5JykgJiYgY2ghPSctJykKICAgIGNoPWdldGNoYXJfdW5sb2NrZWQoKTsKICAgIGlmKGNoPT0nLScpCiAgICB7CiAgICBzaWduPS0xOwogICAgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwogICAgfQogICAgd2hpbGUoICBjaCA+PSAnMCcgJiYgY2ggPD0gJzknICkKICAgIG4gPSAobjw8MykrKG48PDEpICsgY2gtJzAnLCBjaD1nZXRjaGFyX3VubG9ja2VkKCk7CiAgICBuKj1zaWduOyovCiAgd2hpbGUoIGNoIDwgJzAnIHx8IGNoID4gJzknKQogICAgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwogIHdoaWxlKCAgY2ggPj0gJzAnICYmIGNoIDw9ICc5JyApCiAgICBuID0gKG48PDMpKyhuPDwxKSArIGNoLScwJywgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwp9CgppbmxpbmUgdm9pZCBpbnB1dFN0cihzdHJpbmcgJnN0cil7CiAgc3RyPSIiOwogIGNoYXIgY2ggPSBnZXRjaGFyX3VubG9ja2VkKCk7CiAgZGVidWcoY2gpOwogIGludCBpPTA7CiAgd2hpbGUoY2g8MzMpe2NoPWdldGNoYXJfdW5sb2NrZWQoKTt9CiAgd2hpbGUoY2ghPSdcbicpe3N0cis9Y2g7Y2g9Z2V0Y2hhcl91bmxvY2tlZCgpO30KfQoKCmludCBtYWluKCkKewoKICBpbnQgVCxuLG07CiAgc3RyaW5nIHM7CiAgaW5wdXRJbnQoVCk7CiAgd2hpbGUoVC0tKXsKICAgIGlucHV0SW50KG4pOwogICAgaW5wdXRJbnQobSk7CiAgICBjaW4uY2xlYXIoKTsKICAgIGNpbj4+czsKICAgIGludCBsZW4gPSBzLmxlbmd0aCgpLCBMLFUsUixELCBoPTAsIHY9MDsKICAgIC8vZGVidWcoInlvIixzKTsKICAgIGJvb2wgc2FmZT10cnVlOwogICAgTD1VPVI9RD0wOwogICAgZm9yKGludCBpPTA7aTxsZW47aSsrKQogICAgewogICAgICBpZihzW2ldPT0nTCcpaC0tOwogICAgICBlbHNlIGlmKHNbaV09PSdSJyloKys7CiAgICAgIGVsc2UgaWYoc1tpXT09J1UnKXYrKzsKICAgICAgZWxzZSB2LS07CiAgICAgIGlmKGg8MCAmJiBhYnMoaCk+TClMPWFicyhoKTsKICAgICAgZWxzZSBpZihoPjAgJiYgYWJzKGgpPlIpUj1hYnMoaCk7CiAgICAgIGlmKHY8MCAmJiBhYnModik+RClEPWFicyh2KTsKICAgICAgZWxzZSBpZih2PjAgJiYgYWJzKHYpPlUpVT1hYnModik7CiAgICAgIC8vZGVidWcoaCx2LEwsUixVLEQsbSxuKTsKICAgICAgaWYoTCtSPj1tIHx8IFUrRD49bil7CiAgICAgICAgc2FmZT1mYWxzZTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgcHJpbnRmKCIlc1xuIixzYWZlPyJzYWZlIjoidW5zYWZlIik7CiAgfQp9