#include<bits/stdc++.h>
#define HERMIONE 0
#define RON 1
using namespace std;
int n,t,a[200010];
vector<int> g[200010];
bool vis[200100];
int x,y;
string ans="Hermione";
void dfs(int x,bool now){
if(ans=="Ron") return ;
int flag=1;
for(int i=0;i<g[x].size();i++){
if(!vis[g[x][i]]){
flag=0;
vis[g[x][i]]=1;
if(now==RON) dfs(g[x][i],HERMIONE);
else dfs(g[x][i],RON);
vis[g[x][i]]=0;
}
}
if(flag){
if(now==HERMIONE)
ans="Ron";
return ;
}
}
signed main(){
cin>>n>>t;
for(int i=1;i<n;i++){
cin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
for(int i=1;i<=t;i++) cin>>a[i];
for(int i=1;i<=t;i++){
memset(vis,0,sizeof vis);
ans="Hermione";
vis[a[i]]=1;
dfs(a[i],RON);
cout<<ans<<endl;
}
return 0;
}