#include <bits/stdc++.h>
const int M=3e5+7,INF=0x3f3f3f3f;
using namespace std;
int q,n,m,k,tmp,Max[M],EvenMax[M],OddMax[M],EvenMin[M],OddMin[M],choose[M];
int main() {
ios::sync_with_stdio(0);
cin.tie(NULL),cout.tie(NULL);
cin>>q;
for(int w=1; w<=q; ++w) {
memset(OddMin,0x3f,sizeof OddMin);
memset(EvenMin,0x3f,sizeof EvenMin);
memset(EvenMax,0,sizeof EvenMax);
memset(OddMax,0,sizeof OddMax);
memset(Max,0,sizeof Max);
bool flag=0;
cin>>n>>m>>k;
int x=n,cnt=0;
for(int i=1; i<=m; ++i) {
for(int j=0; j<k; ++j) {
cin>>tmp;
Max[i]=max(Max[i],tmp);
if(tmp%2==0) EvenMax[i]=max(EvenMax[i],tmp),EvenMin[i]=min(EvenMin[i],tmp);
else OddMax[i]=max(OddMax[i],tmp),OddMin[i]=min(OddMin[i],tmp);
}
}
for(int i=1; i<=m; ++i) {
if(Max[i]%2==0) {
if(OddMax[i]==0) {
x+=EvenMin[i];
cnt+=EvenMin[i];
} else x-=OddMax[i];
} else {
if(EvenMax[i]==0) {
x+=OddMin[i];
cnt+=OddMin[i];
} else x-=EvenMax[i];
choose[i]=1;
}
if(x<=0) {
cout<<-1<<'\n';
flag=1;
break;
}
}
if(flag) continue;
x-=cnt;
for(int i=1; i<=m; ++i) {
if(Max[i]%2==1&&(x+EvenMax[i]-Max[i]>0)) {
x=x+EvenMax[i]-Max[i];
choose[i]=0;
} else {
if(Max[i]%2==1&&EvenMax[i]==0) x+=OddMin[i];
if(Max[i]%2==0&&OddMax[i]==0) x+=EvenMin[i];
}
}
for(int i=1; i<=m; ++i) {
if(i!=m) {
if(choose[i]==0) cout<<"Even ";
else cout<<"Odd ";
} else {
if(choose[i]==0) cout<<"Even";
else cout<<"Odd";
}
}
if(w!=q) cout<<'\n';
}
}