#include #include #include #include using namespace std; #define NMAX 100000 int depth[NMAX]; int queue[NMAX]; vector adj[NMAX]; int main() { int N, P, x, y; scanf("%d %d", &N, &P); for(int i = 0; i < N-1; i++) { scanf("%d %d", &x, &y); adj[x].push_back(y); adj[y].push_back(x); } //find longest path int first = 0, last = 0, indmax = 0; memset(depth, -1, N*sizeof(int)); queue[0] = 0; depth[0] = 0; while (first<=last) { int crt = queue[first]; if (depth[queue[first]]>depth[queue[indmax]]) indmax = first; for (int i = 0;idepth[queue[indmax]]) indmax = first; for (int i = 0;i