#include "stations.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> adj;
vector<int> L;
void dfs(int u,int now,int st,int p){
L[u]=now;
for(int v:adj[u]){
if(v==p) continue;
dfs(v,now+st,st,u);
}
}
vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
adj.resize(n);
int st=0;
for(int i=0;i<n-1;i++){
adj[u[i]].push_back(v[i]);
adj[v[i]].push_back(u[i]);
if(adj[u[i]].size()>2) st=u[i];
if(adj[v[i]].size()>2) st=v[i];
}
L.resize(n);
L[st]=0;
for(int i=0;i<adj[st].size();i++){
dfs(adj[st][i],i+1,adj[st].size(),st);
}
// cout<<st<<'\n';
adj.clear();
// for(int x:L) cout<<x<<" ";
return L;
}
int find_next_station(int s, int t, std::vector<int> c) {
if(c.size()==1) return c[0];
// cout<<s<<" "<<t<<" "<<c.size()<<'\n';
if(s==0) return t%c.size()==0?c.size():t%c.size();
if(t%((c[1]-c[0])/2)==s) return (s<t?c[1]:c[0]);
return c[0];
return 0;
}