#include using namespace std; struct Edge { int v,w; Edge() {} Edge(int _v,int _w) { v = _v; w = _w; } }; vector adj[10001]; queue q; int age[10001],u0,v0,w0; Edge tmp; int max_w=0; bool koren[10001]; void bfs(int vertex,int weight) { q.push(Edge(vertex,weight)); while(!q.empty()) { vertex = q.front().v; weight = q.front().w; q.pop(); max_w = max(max_w,weight/1000); age[weight/1000]++; for(int i=0;i>n; for(int i=0;i>u0>>v0>>w0; adj[v0].push_back(Edge(u0,w0)); koren[u0] = 1; } for(int i=1;i<=n;i++) { if(koren[i] == 0) { bfs(i,0); } } for(int i=1;i age[i-1] && age[i] > age[i+1]) { cout< age[max_w-1]) { cout<