가장 붐비는 철도 구간 (큰 입력)

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

CINERIS라는 도시국가에는 철도역이 NN개 있다. 역을 잇는 철로는 N1N-1개이고 전체가 트리를 이루므로, 서로 다른 두 역을 잇는 경로는 정확히 하나뿐이다.

이 나라를 다스리는 정민이는 사람이 가장 많이 지나간 구간이 어디인지 알고 싶다. 지금까지 팔린 표는 QQ개이고, 표 한 장에서 알 수 있는 정보는 출발역과 도착역뿐이다.

CINERIS 주민은 모두 최단 경로로 이동한다. 트리에서 두 역을 잇는 경로는 하나뿐이므로, 표 한 장은 그 경로에 놓인 구간을 각각 정확히 한 번 지난다. QQ개의 표 정보로 사람이 가장 많이 지나간 구간을 구하라.

입력

첫째 줄에 NNQQ가 주어진다.

다음 N1N-1개 줄에는 두 정수 aa, bb가 주어진다. aa번 역과 bb번 역을 잇는 양방향 철로가 있다는 뜻이다.

이어지는 QQ개 줄에는 표 한 장의 출발역 cc와 도착역 dd가 주어진다. 그 표를 산 사람은 cc번 역에서 출발해 dd번 역에 도착했다.

1N2222221 \le N \le 222222, 1Q2222221 \le Q \le 222222

철로가 트리를 이루므로 모든 역은 서로 연결되어 있다. 철로가 하나도 없는 입력, 즉 N=1N = 1인 입력은 주어지지 않는다. 표의 출발역과 도착역은 서로 다르다.

출력

사람이 가장 많이 지나간 구간과 그 구간을 지난 사람 수를 한 줄에 출력한다. 세 정수 aa, bb, cc를 공백으로 구분해 출력하며, aa번 역과 bb번 역을 잇는 구간을 cc명이 지났다는 뜻이다. 두 역 번호는 a<ba < b가 되도록 오름차순으로 쓴다.

사람이 가장 많이 지나간 구간이 여러 개라면 (a,b)(a, b)가 사전 순으로 가장 작은 것을 출력한다. 즉 aa가 더 작은 구간을 고르고, aa가 같으면 bb가 더 작은 구간을 고른다.