#include<bits/stdc++.h>
using namespace std;
int a[25];
int b[25];
bool f[25];
int ci[25][2];
int t,n;
bool f1[25];
bool pan=0;
int d[25],j[25];
int s;
bool lang(int id1,int id2){
if(id1<=n&&id2<=n&&f1[id1]==0&&f1[id2]==0&&ci[id1][0]==0&&id1!=id2){
f1[id2]=1;
ci[id1][0]++;
return 1;
}
return 0;
}
bool wukill(int id1,int id2){
if(id1<=n&&id2<=n&&f1[id1]==0&&f1[id2]==0&&ci[id1][0]==0&&id1!=id2){
f1[id2]=1;
ci[id1][0]++;
d[id1]++;
return 1;
}
return 0;
}
bool wujiu(int id1,int id2){
if(f1[id1]==1){
if(id2==id1&&ci[id1][1]==0){
f1[id1]=0;
ci[id1][1]++;
j[id1]++;
return 1;
}
return 0;
}
if(id1<=n&&id2<=n&&f1[id1]==0&&f1[id2]==1&&ci[id1][1]==0){
f1[id2]=0;
ci[id1][1]++;
j[id1]++;
return 1;
}
return 0;
}
bool liejiu(int id1,int id2){
if(id1<=n&&id2<=n&&f1[id1]==1&&f1[id2]==0&&b[id1]==0&&id1!=id2){
b[id1]=1;
f1[id2]=1;
return 1;
}
return 0;
}
int main(){
cin>>t>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
while(t--){
s=0;
pan=0;
int m;
cin>>m;
while(m--){
int op,id1,id2;
cin>>op>>id1>>id2;
if(op==0){
if(lang(id1,id2)==0||a[id1]!=1){
pan=1;
}
}
if(op==1){
if(wukill(id1,id2)==0||a[id1]!=4){
pan=1;
}
}
if(op==2){
if(wujiu(id1,id2)==0||a[id1]!=4){
pan=1;
}
}
if(op==3){
if(liejiu(id1,id2)==0||a[id1]!=3){
pan=1;
}
}
}
for(int i=1;i<=n;i++){
if(f1[i]==1&&a[i]==3&&b[i]==0){
pan=1;
}
}
s=0;
for(int i=1;i<=n;i++){
if(f1[i]==1&&f[i]!=f1[i]){
s++;
}
}
if(pan==1){
cout<<"Wrong\n";
for(int i=1;i<=n;i++){
if(f[i]==0){
b[i]=0;
}
f1[i]=f[i];
if(a[i]==1){
ci[i][0]=0;
}
if(a[i]==4){
ci[i][0]-=d[i];
ci[i][1]-=j[i];
d[i]=j[i]=0;
}
}
}else if(s==0){
cout<<"Safe\n";
for(int i=1;i<=n;i++){
d[i]=j[i]=0;
f[i]=f1[i];
f1[i]=f[i];
if(a[i]==1){
ci[i][0]=0;
}
if(f[i]==0){
b[i]=0;
}
}
}else{
cout<<s<<' ';
for(int i=1;i<=n;i++){
d[i]=j[i]=0;
if(f1[i]==1&&f1[i]!=f[i]){
cout<<i<<' ';
}
f[i]=f1[i];
f1[i]=f[i];
if(a[i]==1){
ci[i][0]=0;
}
if(f[i]==0){
b[i]=0;
}
}
cout<<endl;
}
}
return 0;
}