Giao hàng

View as PDF

Time limit: 2.5s , Memory limit: 512M , Points: 20 (partial)

Thành phố Alpha có n khu dân cư đánh số 1,2,3,...,n với n-1 đường nối hai chiều độ dài 1 km đảm bảo liên thông toàn thành phố. Đường nối thứ i kết nối hai khu dân cư u_iv_i (1 \le u_i,v_i \le n). Công ty Beta đang thực hiện giao vận các đơn hàng tại thành phố. Theo dự định, trong ngày có ba đơn hàng đặc biệt được chuyển đến các khu dân cư x,y,z (1 \le x,y,z \le n; x,y,z có thể trùng nhau). Lãnh đạo công ty dự kiến sẽ cử nhân viên thực hiện quá trình giao hàng đảm bảo:

  • Thứ tự giao hàng được thực hiện: bắt đầu tại khu dân cư thứ x, di chuyển đến khu dân cư thứ y, cuối cùng là khu dân cư thứ z.
  • Việc di chuyển qua một khu dân cư có thể được thực hiện nhiều lần.

Để dự trù kinh phí cho việc di chuyển, cho biết khu dân cư thứ z, bạn hãy giúp nhân viên xác định hai khu dân cư xy sao cho độ dài tối ưu cho lộ trình giao hàng đạt giá trị lớn nhất.

Input

  • Dòng đầu tiền gồm hai số nguyên dương nz (1 \le n \le 10^6).
  • n-1 dòng tiếp theo, dòng thứ i gồm hai số nguyên u_iv_i.

Output

  • Gồm một dòng chứa số nguyên là giá trị lớn nhất của độ dài tối ưu cho lộ trình giao hàng.

Samples

Input 1
4 4
1 2
4 1
1 3
Output 1
4
Input 2
2 1
1 2
Output 2
2

Scoring

  • Subtask 1 (50% số điểm): 1 \le n \le 10^3
  • Subtask 2 (50% số điểm): 1 \le n \le 10^6

Notes

  • Ở ví dụ 1, với cách chọn x=2, y=3, độ dài tối ưu đạt giá trị lớn nhất bằng 4.
  • Ở ví dụ 2, lưu ý rằng các khu dân cư x,y,z có thể trùng nhau.

Comments