/*#include <bits/stdc++.h>
using namespace std;
bool cmp(int x, int y)
{
if(x>=y)return true;
return false;
}
int main()
{
int bindo[1001]={};
int n, a;
scanf("%d", &n);
for(int i=1;i<=n;i++)
{
scanf("%d", &a);
bindo[a]++;
}
int bb=0, bs=20000000, sb=0, ss=2000001;
int maxbin=0, minbin=0;
int cnt=0;
for(int i=1;i<=1000;i++)
{
maxbin=max(maxbin, bindo[i]);
}
for(int i=1;i<=1000;i++)
{
if(bindo[i]!=maxbin)
{
minbin=max(minbin, bindo[i]);
}
}
if(minbin==0)minbin=maxbin;
for(int i=1;i<=1000;i++)
{
if(bindo[i]==maxbin)
{
cnt++;
bb=max(bb, i);
bs=min(bs, i);
}
if(bindo[i]==minbin)
{
ss=min(ss, i);
sb=max(sb, i);
}
}
if(cnt>=2)
{
printf("%d", bb-bs);
return 0;
}
printf("%d", max(abs(bb-ss), abs(bs-sb)));
}*/
/*
#include <bits/stdc++.h>
using namespace std;
int main()
{
printf("out");
}*/
/*#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<pair<int, int> > arr[100001];
int parent[100001][21];
long long int dist[100001][21];
int visited[100001];
int dep[100001];
void dfs(int par, int cur, int dis, int depth)
{
if(visited[cur])
return ;
visited[cur]=1;
parent[cur][0]=par;
dist[cur][0]=dis;
dep[cur]=depth;
for(int i=0; i<arr[cur].size(); i++)
{
dfs(cur, arr[cur][i].first, arr[cur][i].second, depth+1);
}
}
void ans1(int x, int y)
{
long long int ans=0;
int temp;
if(dep[x]<dep[y])
{
temp=x;
x=y;
y=temp;
}
int dif=dep[x]-dep[y];
int cnt=0;
while(dif)
{
if(dif%2)
{
ans+=dist[x][cnt];
x=parent[x][cnt];
}
dif/=2;
cnt++;
}
if(x==y)
{
printf("%lld\n", ans);
return ;
}
for(int i=20; i>=0; i--)
{
if(parent[x][i]!=parent[y][i]&&parent[x][i]!=0&&parent[y][i]!=0)
{
ans+=dist[x][i]+dist[y][i];
x=parent[x][i];
y=parent[y][i];
}
}
ans+=dist[x][0]+dist[y][0];
x=parent[x][0];
printf("%lld\n", ans);
}
void ans2(int u, int v, int k)
{
int x=u, y=v;
int temp;
if(dep[x]<dep[y])
{
temp=x;
x=y;
y=temp;
}
int dif=dep[x]-dep[y];
int cnt=0;
while(dif)
{
if(dif%2)
{
x=parent[x][cnt];
}
dif/=2;
cnt++;
}
if(x!=y)
{
for(int i=20; i>=0; i--)
{
if(parent[x][i]!=parent[y][i]&&parent[x][i]!=0&&parent[y][i]!=0)
{
x=parent[x][i];
y=parent[y][i];
}
}
x=parent[x][0];
}
//printf("%d ", x);
int len=dep[u]-dep[x];
k--;
if(len>=k)
{
cnt=0;
while(k)
{
if(k%2)
{
u=parent[u][cnt];
}
cnt++;
k/=2;
}
printf("%d\n", u);
}
else
{
len=dep[v]-dep[x]-(k-len);
cnt=0;
while(len)
{
if(len%2)
{
v=parent[v][cnt];
}
cnt++;
len/=2;
}
printf("%d\n", v);
}
}
int main()
{
scanf("%d", &n);
int a, b, c;
for(int i=1; i<n; i++)
{
scanf("%d %d %d", &a, &b, &c);
arr[a].push_back({b, c});
arr[b].push_back({a, c});
}
dfs(0, 1, 0, 0);
for(int i=1; i<=20; i++)
{
for(int j=1; j<=n; j++)
{
parent[j][i]=parent[parent[j][i-1]][i-1];
dist[j][i]=dist[j][i-1]+dist[parent[j][i-1]][i-1];
}
}
scanf("%d", &m);
int cmd, u, v, k;
for(int i=1; i<=m; i++)
{
scanf("%d", &cmd);
if(cmd==1)
{
scanf("%d %d", &u, &v);
ans1(u, v);
}
if(cmd==2)
{
scanf("%d %d %d", &u, &v, &k);
ans2(u, v, k);
}
}
}*/
/*
#include <bits/stdc++.h>
using namespace std;
int n, depa, depb, parent[10001], tempa, tempb;
int main()
{
int t;
scanf("%d", &t);
int a, b;
while(t--)
{
depa=0, depb=0;
memset(parent, 0, sizeof(parent));
scanf("%d", &n);
for(int i=1;i<n;i++)
{
scanf("%d %d", &a, &b);
parent[b]=a;
}
scanf("%d %d", &a, &b);
tempa=a, tempb=b;
while(tempa)
{
tempa=parent[tempa];
depa++;
}
while(tempb)
{
tempb=parent[tempb];
depb++;
}
if(depa>depb)
{
while(depa!=depb)
{
a=parent[a];
depa--;
}
}
else if(depb>depa)
{
while(depa!=depb)
{
b=parent[b];
depb--;
}
}
while(a!=b)
{
a=parent[a];
b=parent[b];
}
printf("%d\n", a);
}
}*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
}



