Cho một đồ thị vô hướng gồm đỉnh và cạnh có trọng số. Với một ngưỡng , ta chỉ giữ những cạnh có trọng số không vượt quá .
Mỗi truy vấn cho hai đỉnh khác nhau và . Hãy tìm giá trị nhỏ nhất để và liên thông trong đồ thị được giữ lại. Khi tồn tại giá trị đó, gọi là số đỉnh trong thành phần liên thông chứa và sau khi tất cả cạnh có trọng số không vượt đã được thêm; hãy in cả và .
Nhiều cạnh có thể có cùng trọng số. Vì vậy, kích thước luôn được xác định sau khi xử lý trọn vẹn nhóm cạnh có trọng số , không phụ thuộc thứ tự các cạnh trong nhóm.
Input
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa mô tả cạnh vô hướng giữa và có trọng số .
- Dòng tiếp theo chứa số truy vấn .
- dòng cuối, mỗi dòng chứa hai đỉnh và khác nhau.
Output
- Với mỗi truy vấn, nếu hai đỉnh không thể liên thông thì in ; ngược lại in hai số và , trong đó là ngưỡng nhỏ nhất và là kích thước thành phần sau khi thêm tất cả cạnh có trọng số không vượt .
Constraints
- .
- ; và .
- .
- Đồ thị có thể có nhiều cạnh cùng trọng số và không nhất thiết liên thông.
Scoring
- Subtask ( số điểm): .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
7 6 1 2 4 2 3 7 3 4 7 5 6 2 4 5 10 2 6 10 5 1 3 1 6 5 6 1 5 1 7
Output
7 4 10 6 2 2 10 6 -1
Giải thích: Ở ngưỡng , cả hai cạnh trọng số đã được thêm nên các đỉnh tạo thành một thành phần có kích thước . Ngưỡng nối sáu đỉnh đầu, còn đỉnh luôn cô lập nên truy vấn cuối nhận .