#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
vector<int> labels(n);
vector<vector<int>> ad(n);
for (int i = 0; i < n - 1; ++i) {
ad[u[i]].push_back(v[i]);
ad[v[i]].push_back(u[i]);
}
int timer = 0;
function<void(int, int, bool)> dfs = [&](int node, int parent, bool type) {
if (type) labels[node] = timer++;
for (const auto& v : ad[node]) {
if (v != parent) {
dfs(v, node, !type);
}
}
if (!type) labels[node] = timer++;
};
dfs(0, -1, true);
return labels;
}
int find_next_station(int s, int t, vector<int> c) {
if (c.size() == 1) return c[0];
bool type = s < c[0];
if (type) {
for (int i = 0; i < (int)c.size() - 1; ++i) {
if (t >= s && t <= c[i]) return c[i];
}
return c.back();
} else {
for (int i = c.size() - 1; i > 0; --i) {
if (t <= s && t >= c[i]) return c[i];
}
return c[0];
}
}