#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
inline int my_getchar(){
return getchar();
}
inline void rd(int &x){
int k;
int m=0;
x=0;
for(;;){
k = my_getchar();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = my_getchar();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
inline void my_putchar(const int k){
putchar(k);
if(k=='\n'){
fflush(stdout);
}
}
inline void wt_L(char a){
my_putchar(a);
}
inline void wt_L(int x){
int s=0;
int m=0;
char f[10];
if(x<0){
m=1;
x=-x;
}
while(x){
f[s++]=x%10;
x/=10;
}
if(!s){
f[s++]=0;
}
if(m){
my_putchar('-');
}
while(s--){
my_putchar(f[s]+'0');
}
}
inline void wt_L(const char c[]){
int i=0;
for(i=0;c[i]!='\0';i++){
my_putchar(c[i]);
}
}
int T;
int N;
int i;
int k;
int main(){
int Lj4PdHRW;
rd(T);
rd(N);
for(Lj4PdHRW=(0);Lj4PdHRW<(T);Lj4PdHRW++){
for(i=(0);i<(N-1);i++){
wt_L("M");
wt_L(' ');
wt_L(i+1);
wt_L(' ');
wt_L(N);
wt_L('\n');
rd(k);
if(k!=i+1){
wt_L("S");
wt_L(' ');
wt_L(i+1);
wt_L(' ');
wt_L(k);
wt_L('\n');
rd(k);
}
}
wt_L("D");
wt_L('\n');
rd(k);
}
return 0;
}
// cLay version 20210405-1
// --- original code ---
// //interactive
// int T, N, i, k;
// {
// rd(T,N);
// rep(T){
// rep(i,N-1){
// wt("M",i+1,N);
// rd(k);
// if(k!=i+1){
// wt("S",i+1,k);
// rd(k);
// }
// }
// wt("D");
// rd(k);
// }
// }
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmlubGluZSBpbnQgbXlfZ2V0Y2hhcigpewogIHJldHVybiBnZXRjaGFyKCk7Cn0KaW5saW5lIHZvaWQgcmQoaW50ICZ4KXsKICBpbnQgazsKICBpbnQgbT0wOwogIHg9MDsKICBmb3IoOzspewogICAgayA9IG15X2dldGNoYXIoKTsKICAgIGlmKGs9PSctJyl7CiAgICAgIG09MTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBpZignMCc8PWsmJms8PSc5Jyl7CiAgICAgIHg9ay0nMCc7CiAgICAgIGJyZWFrOwogICAgfQogIH0KICBmb3IoOzspewogICAgayA9IG15X2dldGNoYXIoKTsKICAgIGlmKGs8JzAnfHxrPic5Jyl7CiAgICAgIGJyZWFrOwogICAgfQogICAgeD14KjEwK2stJzAnOwogIH0KICBpZihtKXsKICAgIHg9LXg7CiAgfQp9CmlubGluZSB2b2lkIG15X3B1dGNoYXIoY29uc3QgaW50IGspewogIHB1dGNoYXIoayk7CiAgaWYoaz09J1xuJyl7CiAgICBmZmx1c2goc3Rkb3V0KTsKICB9Cn0KaW5saW5lIHZvaWQgd3RfTChjaGFyIGEpewogIG15X3B1dGNoYXIoYSk7Cn0KaW5saW5lIHZvaWQgd3RfTChpbnQgeCl7CiAgaW50IHM9MDsKICBpbnQgbT0wOwogIGNoYXIgZlsxMF07CiAgaWYoeDwwKXsKICAgIG09MTsKICAgIHg9LXg7CiAgfQogIHdoaWxlKHgpewogICAgZltzKytdPXglMTA7CiAgICB4Lz0xMDsKICB9CiAgaWYoIXMpewogICAgZltzKytdPTA7CiAgfQogIGlmKG0pewogICAgbXlfcHV0Y2hhcignLScpOwogIH0KICB3aGlsZShzLS0pewogICAgbXlfcHV0Y2hhcihmW3NdKycwJyk7CiAgfQp9CmlubGluZSB2b2lkIHd0X0woY29uc3QgY2hhciBjW10pewogIGludCBpPTA7CiAgZm9yKGk9MDtjW2ldIT0nXDAnO2krKyl7CiAgICBteV9wdXRjaGFyKGNbaV0pOwogIH0KfQppbnQgVDsKaW50IE47CmludCBpOwppbnQgazsKaW50IG1haW4oKXsKICBpbnQgTGo0UGRIUlc7CiAgcmQoVCk7CiAgcmQoTik7CiAgZm9yKExqNFBkSFJXPSgwKTtMajRQZEhSVzwoVCk7TGo0UGRIUlcrKyl7CiAgICBmb3IoaT0oMCk7aTwoTi0xKTtpKyspewogICAgICB3dF9MKCJNIik7CiAgICAgIHd0X0woJyAnKTsKICAgICAgd3RfTChpKzEpOwogICAgICB3dF9MKCcgJyk7CiAgICAgIHd0X0woTik7CiAgICAgIHd0X0woJ1xuJyk7CiAgICAgIHJkKGspOwogICAgICBpZihrIT1pKzEpewogICAgICAgIHd0X0woIlMiKTsKICAgICAgICB3dF9MKCcgJyk7CiAgICAgICAgd3RfTChpKzEpOwogICAgICAgIHd0X0woJyAnKTsKICAgICAgICB3dF9MKGspOwogICAgICAgIHd0X0woJ1xuJyk7CiAgICAgICAgcmQoayk7CiAgICAgIH0KICAgIH0KICAgIHd0X0woIkQiKTsKICAgIHd0X0woJ1xuJyk7CiAgICByZChrKTsKICB9CiAgcmV0dXJuIDA7Cn0KLy8gY0xheSB2ZXJzaW9uIDIwMjEwNDA1LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAvL2ludGVyYWN0aXZlCi8vIGludCBULCBOLCBpLCBrOwovLyB7Ci8vICAgcmQoVCxOKTsKLy8gICByZXAoVCl7Ci8vICAgICByZXAoaSxOLTEpewovLyAgICAgICB3dCgiTSIsaSsxLE4pOwovLyAgICAgICByZChrKTsKLy8gICAgICAgaWYoayE9aSsxKXsKLy8gICAgICAgICB3dCgiUyIsaSsxLGspOwovLyAgICAgICAgIHJkKGspOwovLyAgICAgICB9Ci8vICAgICB9Ci8vICAgICB3dCgiRCIpOwovLyAgICAgcmQoayk7Ci8vICAgfQovLyB9Cg==