/*
Author: Nguyen Nhut Truong
From Chuyen Tien Giang High School For The Gifted
*/
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define start signed main
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define il pair<int,ll>
#define ii pair<int,int>
#define len(s) (int)s.size()
#define all(s) (s).begin(),(s).end()
#define OpenFile(Name) if (fopen(Name".inp","r")) freopen(Name".inp","r",stdin),freopen(Name".out","w",stdout);
#define MASK(x) ((1LL)<<(x))
#define Bit(x,i) (((x)>>(i))&1)
#define Countbit(x) __builtin_popcountll(x)
typedef long long ll;
typedef long double ld;
int dx[]={1,-1,0,0,-1,1,1,-1};
int dy[]={0,0,1,-1,-1,-1,1,1};
template <class C> bool Minimize(C &a, C b) { if (a>b) { a=b; return true; } return false;}
template <class C> bool Maximize(C &a, C b) { if (a<b) { a=b; return true; } return false;}
inline ll add(ll a,ll b,ll c) { return (a+b)%c; };
inline ll suf(ll a,ll b,ll c) { return (a-b+c)%c; };
inline ll mul(ll a,ll b,ll c) { return ((a%c)*(b%c))%c; };
mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());
ll rand(ll l,ll r){
assert(l<=r);
return l+rd()%(r-l+1);
}
void MakeInp() {
ofstream cout("Task.inp");
cout.close();
}
/// Constant Limit
const int N=1e6+5,M=1e3+5,INF=1e9,lim=1e6;
const int block=448,base=31;
ll Mod=1e9+7,Mod_base=1777777777,LNF=1e18;
///________________________________________________________________________________________________________
int h[N],par[N][22];
vector<int> a[N];
void DFS(int u=1,int p=-1) {
par[u][0]=p;
for (int i=1;i<=18;++i) par[u][i]=par[par[u][i-1]][i-1];
for (int v:a[u])
if (v!=p) {
h[v]=h[u]+1;
DFS(v,u);
}
}
int lca(int u,int v) {
if (h[u]<h[v]) swap(u,v);
int x=h[u]-h[v];
for (int i=18;i>=0;--i)
if (Bit(x,i)) u=par[u][i];
if (u==v) return u;
for (int i=18;i>=0;--i)
if (par[u][i]!=par[v][i]) {
u=par[u][i];
v=par[v][i];
}
return par[u][0];
}
start() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n,q; cin>>n>>q;
for (int i=1;i<n;++i) {
int u,v; cin>>u>>v;
a[u].eb(v);
a[v].eb(u);
}
DFS();
while (q--) {
int u,v; cin>>u>>v;
cout<<lca(u,v)<<' ';
}
//cerr<<"\nBien dich thanh cong\nTime: "<<(1.0*clock()/CLOCKS_PER_SEC)<<" s\n";
return 0;
}
LyoKICAgIEF1dGhvcjogTmd1eWVuIE5odXQgVHJ1b25nCiAgICBGcm9tIENodXllbiBUaWVuIEdpYW5nIEhpZ2ggU2Nob29sIEZvciBUaGUgR2lmdGVkCiovCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8jZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBzdGFydCBzaWduZWQgbWFpbgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgaWwgcGFpcjxpbnQsbGw+CiNkZWZpbmUgaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGxlbihzKSAoaW50KXMuc2l6ZSgpCiNkZWZpbmUgYWxsKHMpIChzKS5iZWdpbigpLChzKS5lbmQoKQojZGVmaW5lIE9wZW5GaWxlKE5hbWUpIGlmIChmb3BlbihOYW1lIi5pbnAiLCJyIikpIGZyZW9wZW4oTmFtZSIuaW5wIiwiciIsc3RkaW4pLGZyZW9wZW4oTmFtZSIub3V0IiwidyIsc3Rkb3V0KTsKCiNkZWZpbmUgTUFTSyh4KSAoKDFMTCk8PCh4KSkKI2RlZmluZSBCaXQoeCxpKSAoKCh4KT4+KGkpKSYxKQojZGVmaW5lIENvdW50Yml0KHgpIF9fYnVpbHRpbl9wb3Bjb3VudGxsKHgpCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKCmludCBkeFtdPXsxLC0xLDAsMCwtMSwxLDEsLTF9OwppbnQgZHlbXT17MCwwLDEsLTEsLTEsLTEsMSwxfTsKCnRlbXBsYXRlIDxjbGFzcyBDPiBib29sIE1pbmltaXplKEMgJmEsIEMgYikgeyBpZiAoYT5iKSB7IGE9YjsgcmV0dXJuIHRydWU7IH0gcmV0dXJuIGZhbHNlO30KdGVtcGxhdGUgPGNsYXNzIEM+IGJvb2wgTWF4aW1pemUoQyAmYSwgQyBiKSB7IGlmIChhPGIpIHsgYT1iOyByZXR1cm4gdHJ1ZTsgfSByZXR1cm4gZmFsc2U7fQoKaW5saW5lIGxsIGFkZChsbCBhLGxsIGIsbGwgYykgeyByZXR1cm4gKGErYiklYzsgfTsKaW5saW5lIGxsIHN1ZihsbCBhLGxsIGIsbGwgYykgeyByZXR1cm4gKGEtYitjKSVjOyB9OwppbmxpbmUgbGwgbXVsKGxsIGEsbGwgYixsbCBjKSB7IHJldHVybiAoKGElYykqKGIlYykpJWM7IH07CgptdDE5OTM3XzY0IHJkKGNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKS50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CgpsbCByYW5kKGxsIGwsbGwgcil7CiAgICBhc3NlcnQobDw9cik7CiAgICByZXR1cm4gbCtyZCgpJShyLWwrMSk7Cn0KCnZvaWQgTWFrZUlucCgpIHsKICAgIG9mc3RyZWFtIGNvdXQoIlRhc2suaW5wIik7CgogICAgY291dC5jbG9zZSgpOwp9CgovLy8gQ29uc3RhbnQgTGltaXQKCmNvbnN0IGludCBOPTFlNis1LE09MWUzKzUsSU5GPTFlOSxsaW09MWU2Owpjb25zdCBpbnQgYmxvY2s9NDQ4LGJhc2U9MzE7CgpsbCBNb2Q9MWU5KzcsTW9kX2Jhc2U9MTc3Nzc3Nzc3NyxMTkY9MWUxODsKCi8vL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgppbnQgaFtOXSxwYXJbTl1bMjJdOwp2ZWN0b3I8aW50PiBhW05dOwoKdm9pZCBERlMoaW50IHU9MSxpbnQgcD0tMSkgewogICAgcGFyW3VdWzBdPXA7CiAgICBmb3IgKGludCBpPTE7aTw9MTg7KytpKSBwYXJbdV1baV09cGFyW3Bhclt1XVtpLTFdXVtpLTFdOwoKICAgIGZvciAoaW50IHY6YVt1XSkKICAgIGlmICh2IT1wKSB7CiAgICAgICAgaFt2XT1oW3VdKzE7CiAgICAgICAgREZTKHYsdSk7CiAgICB9Cn0KCmludCBsY2EoaW50IHUsaW50IHYpIHsKICAgIGlmIChoW3VdPGhbdl0pIHN3YXAodSx2KTsKICAgIGludCB4PWhbdV0taFt2XTsKCiAgICBmb3IgKGludCBpPTE4O2k+PTA7LS1pKQogICAgaWYgKEJpdCh4LGkpKSB1PXBhclt1XVtpXTsKCiAgICBpZiAodT09dikgcmV0dXJuIHU7CgogICAgZm9yIChpbnQgaT0xODtpPj0wOy0taSkKICAgIGlmIChwYXJbdV1baV0hPXBhclt2XVtpXSkgewogICAgICAgIHU9cGFyW3VdW2ldOwogICAgICAgIHY9cGFyW3ZdW2ldOwogICAgfQoKICAgIHJldHVybiBwYXJbdV1bMF07Cn0KCnN0YXJ0KCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoKICAgIGludCBuLHE7IGNpbj4+bj4+cTsKICAgIGZvciAoaW50IGk9MTtpPG47KytpKSB7CiAgICAgICAgaW50IHUsdjsgY2luPj51Pj52OwogICAgICAgIGFbdV0uZWIodik7CiAgICAgICAgYVt2XS5lYih1KTsKICAgIH0KCiAgICBERlMoKTsKCiAgICB3aGlsZSAocS0tKSB7CiAgICAgICAgaW50IHUsdjsgY2luPj51Pj52OwogICAgICAgIGNvdXQ8PGxjYSh1LHYpPDwnICc7CiAgICB9CgoKCgoKICAgIC8vY2Vycjw8IlxuQmllbiBkaWNoIHRoYW5oIGNvbmdcblRpbWU6ICI8PCgxLjAqY2xvY2soKS9DTE9DS1NfUEVSX1NFQyk8PCIgc1xuIjsKICAgIHJldHVybiAwOwp9