#include<stdio.h>
#include<algorithm>
#include<random>
using namespace std;
random_device rd;
mt19937_64 rng(rd());
#define M 100000
#define N_ (N*2+1)
#define N 100000
using u64=unsigned long long;
int rt,n,m,hd[N],e[N_],Ln[N_],ii,diff,midedge,kil[N_],sz[N],o[N],p;
u64 qwq[M+1],val[N],dis[N],sum;
void add(int u,int v){ ++ii; e[ii]=v;Ln[ii]=hd[u]; hd[u]=ii; }
void dfs0(int u,int p){
sz[u]=1;
for(int j=hd[u];j;j=Ln[j])if(!kil[j]&&e[j]!=p){
dfs0(e[j],u),sz[u]+=sz[e[j]];
}
}
void dfs1(int u,int code){
int x_=abs(sz[u]-(sz[rt]-sz[u]));
if(x_<diff)diff=x_,midedge=code;
for(int j=hd[u];j;j=Ln[j])if(!kil[j]&&(j^code^1))dfs1(e[j],j);
}
void answer(int i,int j){
printf("%d %d\n",i+1,j+1);
exit(0);
}
void dfs2(int u,int code){
dis[u]+=val[u];
if(dis[u]==sum){
answer(rt,u);
}
o[p++]=u;
for(int j=hd[u];j;j=Ln[j])if(!kil[j]&&(j^code^1)) dis[e[j]]=dis[u],dfs2(e[j],j);
}
void dfs3(int u,int code,u64 d){
d+=val[u];
int x=0;
for(int j=(1<<20);j;j>>=1)
if(j+x<p&&dis[o[x+j]]<=sum-d)x+=j;
if(dis[o[x]]==sum-d)answer(o[x],u);
for(int j=hd[u];j;j=Ln[j])if(!kil[j]&&(j^code^1)) dfs3(e[j],j,d);
}
void DECOM(int u){
dfs0(u,-1);
diff=1900000;rt=u;dfs1(u,0);
if(midedge){
int x=e[midedge],y=e[midedge^1];
kil[midedge]=kil[midedge^1]=1;
rt=x;dis[x]=p=0;dfs2(x,0);std::sort(o,o+p,[](int i,int j){return dis[i]<dis[j];});dfs3(y,0,0);
rt=y;dis[y]=p=0;dfs2(y,0);std::sort(o,o+p,[](int i,int j){return dis[i]<dis[j];});dfs3(x,0,0);
DECOM(x),DECOM(y);
}
}
int main(){
ii=1;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i)qwq[i]=rng(),sum+=qwq[i];
for(int u,v,i=1;i<n;++i){
scanf("%d%d",&u,&v),--u,--v;
add(u,v),add(v,u);
}
for(int sz,w,i=0;i<n;++i){
scanf("%d",&sz);
while(sz--)scanf("%d",&w),val[i]+=qwq[w];
}
DECOM(0);
puts("No solution");
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxyYW5kb20+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnJhbmRvbV9kZXZpY2UgcmQ7Cm10MTk5MzdfNjQgcm5nKHJkKCkpOwoKI2RlZmluZSBNIDEwMDAwMAojZGVmaW5lIE5fIChOKjIrMSkKI2RlZmluZSBOIDEwMDAwMAoKdXNpbmcgdTY0PXVuc2lnbmVkIGxvbmcgbG9uZzsKaW50IHJ0LG4sbSxoZFtOXSxlW05fXSxMbltOX10saWksZGlmZixtaWRlZGdlLGtpbFtOX10sc3pbTl0sb1tOXSxwOwp1NjQgcXdxW00rMV0sdmFsW05dLGRpc1tOXSxzdW07Cgp2b2lkIGFkZChpbnQgdSxpbnQgdil7ICsraWk7IGVbaWldPXY7TG5baWldPWhkW3VdOyBoZFt1XT1paTsgfQp2b2lkIGRmczAoaW50IHUsaW50IHApewoJc3pbdV09MTsKCWZvcihpbnQgaj1oZFt1XTtqO2o9TG5bal0paWYoIWtpbFtqXSYmZVtqXSE9cCl7CgkJZGZzMChlW2pdLHUpLHN6W3VdKz1zeltlW2pdXTsKCX0KfQp2b2lkIGRmczEoaW50IHUsaW50IGNvZGUpewoJaW50IHhfPWFicyhzelt1XS0oc3pbcnRdLXN6W3VdKSk7CglpZih4XzxkaWZmKWRpZmY9eF8sbWlkZWRnZT1jb2RlOwoJZm9yKGludCBqPWhkW3VdO2o7aj1MbltqXSlpZigha2lsW2pdJiYoal5jb2RlXjEpKWRmczEoZVtqXSxqKTsKfQoKdm9pZCBhbnN3ZXIoaW50IGksaW50IGopewoJcHJpbnRmKCIlZCAlZFxuIixpKzEsaisxKTsKCWV4aXQoMCk7Cn0Kdm9pZCBkZnMyKGludCB1LGludCBjb2RlKXsKCWRpc1t1XSs9dmFsW3VdOwoJaWYoZGlzW3VdPT1zdW0pewoJCWFuc3dlcihydCx1KTsKCX0KCW9bcCsrXT11OwoJZm9yKGludCBqPWhkW3VdO2o7aj1MbltqXSlpZigha2lsW2pdJiYoal5jb2RlXjEpKSBkaXNbZVtqXV09ZGlzW3VdLGRmczIoZVtqXSxqKTsKfQoKdm9pZCBkZnMzKGludCB1LGludCBjb2RlLHU2NCBkKXsKCWQrPXZhbFt1XTsKCWludCB4PTA7Cglmb3IoaW50IGo9KDE8PDIwKTtqO2o+Pj0xKQoJCWlmKGoreDxwJiZkaXNbb1t4K2pdXTw9c3VtLWQpeCs9ajsKCWlmKGRpc1tvW3hdXT09c3VtLWQpYW5zd2VyKG9beF0sdSk7Cglmb3IoaW50IGo9aGRbdV07ajtqPUxuW2pdKWlmKCFraWxbal0mJihqXmNvZGVeMSkpIGRmczMoZVtqXSxqLGQpOwp9Cgp2b2lkIERFQ09NKGludCB1KXsKCWRmczAodSwtMSk7CglkaWZmPTE5MDAwMDA7cnQ9dTtkZnMxKHUsMCk7CgoJaWYobWlkZWRnZSl7CgkJaW50IHg9ZVttaWRlZGdlXSx5PWVbbWlkZWRnZV4xXTsKCQlraWxbbWlkZWRnZV09a2lsW21pZGVkZ2VeMV09MTsKCQlydD14O2Rpc1t4XT1wPTA7ZGZzMih4LDApO3N0ZDo6c29ydChvLG8rcCxbXShpbnQgaSxpbnQgail7cmV0dXJuIGRpc1tpXTxkaXNbal07fSk7ZGZzMyh5LDAsMCk7CgkJcnQ9eTtkaXNbeV09cD0wO2RmczIoeSwwKTtzdGQ6OnNvcnQobyxvK3AsW10oaW50IGksaW50IGope3JldHVybiBkaXNbaV08ZGlzW2pdO30pO2RmczMoeCwwLDApOwoKCQlERUNPTSh4KSxERUNPTSh5KTsKCX0KfQoKaW50IG1haW4oKXsKCWlpPTE7CgoJc2NhbmYoIiVkJWQiLCZuLCZtKTsKCWZvcihpbnQgaT0xO2k8PW07KytpKXF3cVtpXT1ybmcoKSxzdW0rPXF3cVtpXTsKCWZvcihpbnQgdSx2LGk9MTtpPG47KytpKXsKCQlzY2FuZigiJWQlZCIsJnUsJnYpLC0tdSwtLXY7CgkJYWRkKHUsdiksYWRkKHYsdSk7Cgl9Cglmb3IoaW50IHN6LHcsaT0wO2k8bjsrK2kpewoJCXNjYW5mKCIlZCIsJnN6KTsKCQl3aGlsZShzei0tKXNjYW5mKCIlZCIsJncpLHZhbFtpXSs9cXdxW3ddOwoJfQoKCURFQ09NKDApOwoJcHV0cygiTm8gc29sdXRpb24iKTsKCglyZXR1cm4gMDsKfQ==