#include<bits/stdc++.h>
#define int long long
#define ioc ios::sync_with_stdio(0)
using namespace std;
struct node{
int bel=-1;
int lev,val;
}a[105];
int c[105][105],d[105];
int n,m,q,L;
string plyr[2]={"Renko","Merry"};
int v[2],poss[2],jl[2];
int check(int pos,int plr){
if(a[pos].bel==-1) return 0;
if(a[pos].bel==plr) return a[pos].val;
return -a[pos].val;
}
void build(int pos,int plr,int k){
if(check(pos,plr)<0)return;
if(check(pos,plr)==0){
if(v[plr]<c[pos][0])return;
jl[plr]+=d[pos];
}
for(int i=1;i<=k;i++){
if(v[plr]<c[pos][a[pos].lev])return;
if(a[pos].lev==L)return;
a[pos].bel=plr;
a[pos].val+=c[pos][a[pos].lev];
v[plr]-=c[pos][a[pos].lev];
a[pos].lev++;
}
}
int p=1,cnt,cnt1;
signed main(){
cin>>n>>m>>q>>L;
v[0]=v[1]=m;
for(int i=0;i<n;i++){
for(int j=0;j<L;j++){
cin>>c[i][j];
}
}
for(int i=0;i<n;i++){
cin>>d[i];
}int op,k;
while(cin>>op>>k){
if(op==1){
p=p^1;
cnt1++;
for(int i=1;i<=k;i++){
poss[p]++;
poss[p]%=n;
if(check(poss[p],p)>0) v[p]+=check(poss[p],p);
if(check(poss[p],p)<0){
v[p]+=check(poss[p],p);
v[p^1]-=check(poss[p],p);
}
}
if(v[p]<0){
cout<<plyr[p];
return 0;
}
}
if(op==2){
build(poss[p],p,k);
if(p==1){
v[0]+=jl[0];v[1]+=jl[1];
}
}
if(v[0]<0){
cout<<plyr[0];
return 0;
}
else if(v[1]<0){
cout<<plyr[1];
return 0;
}
}
if(v[0]<0){
cout<<plyr[0];
}
else if(v[1]<0){
cout<<plyr[1];
}
else{
cout<<v[0]<<" "<<v[1];
}
}