#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e3+10;
struct player{int money,point;}players[2];
string mp[2]={"Renko","Merry"};
int n,m,q,l,flag,k;
int C[N][N];
struct building{
int own;
int pay;
int deng;
}d[N];
int b[N];
signed main(){
players[0].point=players[1].point=1;
cin>>n>>m>>q>>l;
players[0].money=players[1].money=m;
for (int i=1;i<=n;i++){
for (int j=0;j<=l-1;j++){
cin>>C[i][j];
}
}
for (int i=1;i<=n;i++) cin>>b[i],d[i].own=-1,d[i].deng=0;
int now_play=-1;
while (cin>>flag>>k,flag){
if (flag==1){
now_play++;
if (now_play>=2){
for (int i=1;i<=n;i++){
if (d[i].own!=-1){
players[d[i].own].money+=b[i];
}
}
now_play=0;
}
for (int i=1;i<=k;i++){
players[now_play].point=players[now_play].point+1;
if (players[now_play].point==0) players[now_play].point=n;
int np=players[now_play].point;
if (d[np].own==(!now_play)){
players[now_play].money-=d[np].pay;
if (players[now_play].money<0){
cout<<mp[now_play];
return 0;
}
players[!now_play].money+=d[np].pay;
}
if (d[np].own==now_play) players[now_play].money+=d[np].pay;
}
}
else{
int np=players[now_play].point;
if (d[np].own==(!now_play)) continue;
for (int i=1;i<=k && d[np].deng<l;i++){
if (C[np][d[np].deng]>players[now_play].money) break;
players[now_play].money-=C[np][d[np].deng];
d[np].pay+=C[np][d[np].deng];
d[np].deng++;
}
d[np].own=now_play;
}
}
for (int i=1;i<=n;i++){
if (d[i].own!=-1){
players[d[i].own].money+=b[i];
}
}
cout<<players[0].money<<" "<<players[1].money;
return 0;
}