(n,),*e=[[*map(int,s.split())]for s in open(0)] uv=e[:n-1] xy=e[n-1:] M=1<<64 def f(i,edges): ret=[-1]*n g=[[]for _ in range(n)] for u,v in edges: g[u-1]+=v-1, g[v-1]+=u-1, q=[i] ret[i]=0 while q: p=q.pop() for v in g[p]: if ret[v]<0: q+=v, ret[v]=ret[p]+1 return ret ans=0 for p in range(n): da=f(p,uv) db=f(p,xy) for q in range(n): ans+=da[q]*db[q] ans%=M print(ans)