Có đỉnh và ban đầu chưa có cạnh. Trong ngày thứ , cạnh vô hướng thứ trong input được thêm vào đồ thị; không cạnh nào bị xóa.
Với mỗi truy vấn gồm hai đỉnh và , hãy tìm số ngày nhỏ nhất sao cho sau khi đã thêm cạnh đầu tiên, và nằm trong cùng một thành phần liên thông. Ngày là thời điểm trước khi thêm cạnh nào. Nếu điều đó không xảy ra ngay cả sau ngày , in .
Input
- Dòng đầu chứa và .
- dòng tiếp theo chứa hai đầu mút của cạnh được thêm trong ngày tương ứng.
- dòng cuối chứa hai đỉnh của một truy vấn.
Output
- Với mỗi truy vấn, in ngày nhỏ nhất làm hai đỉnh liên thông; in nếu sau ngày vẫn không liên thông.
Constraints
- .
- Mỗi đầu mút nằm trong và hai đầu của một cạnh khác nhau.
- Hai đỉnh trong truy vấn có thể trùng nhau.
Scoring
- Subtask ( số điểm): .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
6 4 4 1 2 3 4 2 3 1 4 1 4 1 6 2 2 3 1
Output
3 -1 0 3
Giải thích: Sau cạnh thứ ba, các đỉnh nằm cùng thành phần nên hai truy vấn kết nối giữa chúng có đáp án . Đỉnh không nhận cạnh nào nên truy vấn đến nó cho , còn một đỉnh luôn tự liên thông từ ngày .