#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int i = (a); i <= (b); ++i)
#define FORD(i, a, b) for(int i = (a); i >= (b); --i)
#define REP(i, a) for(int i = 0; i < (a); ++i)
#define sz(a) (int)(a).size()
#define all(a) (a).begin(), (a).end()
#define bit(s, i) (((s) >> (i)) & 1)
#define ii pair <int, int>
#define fi first
#define se second
#define ll long long
#define eb emplace_back
#define pb push_back
#define __builtin_popcount __builtin_popcountll
template <class X, class Y>
bool maxi(X &x, Y y) {
if(x < y) {
x = y;
return true;
}
return false;
}
template <class X, class Y>
bool mini(X &x, Y y) {
if(x > y) {
x = y;
return true;
}
return false;
}
const int N=1e5+5;
const int INF=1e9;
int n,a,b,dA[N],dB[N],cntA,cntB;
vector<ii> adj[N];
void bfsa(){
fill(dA+1,dA+1+n,INF);
queue<int>q;
dA[a]=0;
q.push(a);
while(q.size()){
int u=q.front();q.pop();
cntA+=u!=b;
for(auto [v,w]:adj[u]){
if(w==1) continue;
if(dA[v]>dA[u]+1){
dA[v]=dA[u]+1;
q.push(v);
}
}
}
}
void bfsb(){
fill(dB+1,dB+1+n,INF);
queue<int>q;
dB[b]=0;
q.push(b);
while(q.size()){
++cntB;
int u=q.front();q.pop();
for(auto [v,w]:adj[u]){
if(w==0) continue;
if(dB[v]>dB[u]+1){
dB[v]=dB[u]+1;
q.push(v);
}
}
}
}
bool dfsa(int u, int p=-1){
if(dA[u]>dB[u]) return false;
for(auto [v,w]:adj[u]) if(v!=p){
if(w==1) continue;
if(dfsa(v,u)) return true;
if(dB[u]==INF && dB[v]==INF) return true;
}
return false;
}
bool dfsb(int u, int p=-1){
if(dB[u]>=dA[u]) return false;
for(auto [v,w]:adj[u]) if(v!=p){
if(w==0) continue;
if(dfsb(v,u)) return true;
if(dA[u]==INF && dA[v]==INF) return true;
}
return false;
}
int dist(int u, int d=0, int p=-1){
if(u==b) return d;
for(auto [v,w]:adj[u]) if(v!=p){
int tmp=dist(v,d+1,u);
if(tmp!=-1) return tmp;
}
return -1;
}
void solve(){
cin>>n>>a>>b;
FOR(i,1,n-1){
int x,y; string c; cin>>x>>y>>c;
int t;
if(c=="plava") t=0;
else if(c=="crvena") t=1;
else if(c=="magenta") t=2;
else assert(0);
adj[x].eb(y,t); adj[y].eb(x,t);
}
bfsa();
bfsb();
if(cntA==1) return cout<<"Marin",void();
if(cntB==1) return cout<<"Paula",void();
int s=dist(a);
if(s%2==0){
if(dfsb(b)) cout<<"Magenta";
else cout<<"Paula";
} else{
if(dfsa(a)) cout<<"Magenta";
else cout<<"Marin";
}
}
int32_t main() {
#define task "test"
if(fopen(task".inp", "r")){
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
cin.tie(0)->sync_with_stdio(0);
int tc = 1; // cin >> tc;
FOR(i, 1, tc){
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IoaW50IGkgPSAoYSk7IGkgPD0gKGIpOyArK2kpCiNkZWZpbmUgRk9SRChpLCBhLCBiKSBmb3IoaW50IGkgPSAoYSk7IGkgPj0gKGIpOyAtLWkpCiNkZWZpbmUgUkVQKGksIGEpIGZvcihpbnQgaSA9IDA7IGkgPCAoYSk7ICsraSkKI2RlZmluZSBzeihhKSAoaW50KShhKS5zaXplKCkKI2RlZmluZSBhbGwoYSkgKGEpLmJlZ2luKCksIChhKS5lbmQoKQojZGVmaW5lIGJpdChzLCBpKSAoKChzKSA+PiAoaSkpICYgMSkKI2RlZmluZSBpaSBwYWlyIDxpbnQsIGludD4KI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGViIGVtcGxhY2VfYmFjawojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIF9fYnVpbHRpbl9wb3Bjb3VudCBfX2J1aWx0aW5fcG9wY291bnRsbAoKdGVtcGxhdGUgPGNsYXNzIFgsIGNsYXNzIFk+CiAgICBib29sIG1heGkoWCAmeCwgWSB5KSB7CiAgICAgICAgaWYoeCA8IHkpIHsKICAgICAgICAgICAgeCA9IHk7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cgp0ZW1wbGF0ZSA8Y2xhc3MgWCwgY2xhc3MgWT4KICAgIGJvb2wgbWluaShYICZ4LCBZIHkpIHsKICAgICAgICBpZih4ID4geSkgewogICAgICAgICAgICB4ID0geTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCmNvbnN0IGludCBOPTFlNSs1Owpjb25zdCBpbnQgSU5GPTFlOTsKCmludCBuLGEsYixkQVtOXSxkQltOXSxjbnRBLGNudEI7CnZlY3RvcjxpaT4gYWRqW05dOwoKdm9pZCBiZnNhKCl7CiAgICBmaWxsKGRBKzEsZEErMStuLElORik7CiAgICBxdWV1ZTxpbnQ+cTsKICAgIGRBW2FdPTA7CiAgICBxLnB1c2goYSk7CiAgICB3aGlsZShxLnNpemUoKSl7CiAgICAgICAgaW50IHU9cS5mcm9udCgpO3EucG9wKCk7CiAgICAgICAgY250QSs9dSE9YjsKICAgICAgICBmb3IoYXV0byBbdix3XTphZGpbdV0pewogICAgICAgICAgICBpZih3PT0xKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoZEFbdl0+ZEFbdV0rMSl7CiAgICAgICAgICAgICAgICBkQVt2XT1kQVt1XSsxOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGJmc2IoKXsKICAgIGZpbGwoZEIrMSxkQisxK24sSU5GKTsKICAgIHF1ZXVlPGludD5xOwogICAgZEJbYl09MDsKICAgIHEucHVzaChiKTsKICAgIHdoaWxlKHEuc2l6ZSgpKXsKICAgICAgICArK2NudEI7CiAgICAgICAgaW50IHU9cS5mcm9udCgpO3EucG9wKCk7CiAgICAgICAgZm9yKGF1dG8gW3Ysd106YWRqW3VdKXsKICAgICAgICAgICAgaWYodz09MCkgY29udGludWU7CiAgICAgICAgICAgIGlmKGRCW3ZdPmRCW3VdKzEpewogICAgICAgICAgICAgICAgZEJbdl09ZEJbdV0rMTsKICAgICAgICAgICAgICAgIHEucHVzaCh2KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKYm9vbCBkZnNhKGludCB1LCBpbnQgcD0tMSl7CiAgICBpZihkQVt1XT5kQlt1XSkgcmV0dXJuIGZhbHNlOwogICAgZm9yKGF1dG8gW3Ysd106YWRqW3VdKSBpZih2IT1wKXsKICAgICAgICBpZih3PT0xKSBjb250aW51ZTsKICAgICAgICBpZihkZnNhKHYsdSkpIHJldHVybiB0cnVlOwogICAgICAgIGlmKGRCW3VdPT1JTkYgJiYgZEJbdl09PUlORikgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KYm9vbCBkZnNiKGludCB1LCBpbnQgcD0tMSl7CiAgICBpZihkQlt1XT49ZEFbdV0pIHJldHVybiBmYWxzZTsKICAgIGZvcihhdXRvIFt2LHddOmFkalt1XSkgaWYodiE9cCl7CiAgICAgICAgaWYodz09MCkgY29udGludWU7CiAgICAgICAgaWYoZGZzYih2LHUpKSByZXR1cm4gdHJ1ZTsKICAgICAgICBpZihkQVt1XT09SU5GICYmIGRBW3ZdPT1JTkYpIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgppbnQgZGlzdChpbnQgdSwgaW50IGQ9MCwgaW50IHA9LTEpewogICAgaWYodT09YikgcmV0dXJuIGQ7CiAgICBmb3IoYXV0byBbdix3XTphZGpbdV0pIGlmKHYhPXApewogICAgICAgIGludCB0bXA9ZGlzdCh2LGQrMSx1KTsKICAgICAgICBpZih0bXAhPS0xKSByZXR1cm4gdG1wOwogICAgfQogICAgcmV0dXJuIC0xOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBjaW4+Pm4+PmE+PmI7CiAgICBGT1IoaSwxLG4tMSl7CiAgICAgICAgaW50IHgseTsgc3RyaW5nIGM7IGNpbj4+eD4+eT4+YzsKICAgICAgICBpbnQgdDsKICAgICAgICBpZihjPT0icGxhdmEiKSB0PTA7CiAgICAgICAgZWxzZSBpZihjPT0iY3J2ZW5hIikgdD0xOwogICAgICAgIGVsc2UgaWYoYz09Im1hZ2VudGEiKSB0PTI7CiAgICAgICAgZWxzZSBhc3NlcnQoMCk7CiAgICAgICAgYWRqW3hdLmViKHksdCk7IGFkalt5XS5lYih4LHQpOwogICAgfQoKICAgIGJmc2EoKTsKICAgIGJmc2IoKTsKCiAgICBpZihjbnRBPT0xKSByZXR1cm4gY291dDw8Ik1hcmluIix2b2lkKCk7CiAgICBpZihjbnRCPT0xKSByZXR1cm4gY291dDw8IlBhdWxhIix2b2lkKCk7CgogICAgaW50IHM9ZGlzdChhKTsKICAgIGlmKHMlMj09MCl7CiAgICAgICAgaWYoZGZzYihiKSkgY291dDw8Ik1hZ2VudGEiOwogICAgICAgIGVsc2UgY291dDw8IlBhdWxhIjsKICAgIH0gZWxzZXsKICAgICAgICBpZihkZnNhKGEpKSBjb3V0PDwiTWFnZW50YSI7CiAgICAgICAgZWxzZSBjb3V0PDwiTWFyaW4iOwogICAgfQp9CgppbnQzMl90IG1haW4oKSB7CiAgICAjZGVmaW5lIHRhc2sgInRlc3QiCiAgICBpZihmb3Blbih0YXNrIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKHRhc2siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgY2luLnRpZSgwKS0+c3luY193aXRoX3N0ZGlvKDApOwoKICAgIGludCB0YyA9IDE7IC8vIGNpbiA+PiB0YzsKICAgIEZPUihpLCAxLCB0Yyl7CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQ==