Một thành phố có giao lộ và con phố hai chiều. Trung tâm điều phối ở giao lộ , còn điểm cần cô lập ở giao lộ .
Hãy đóng ít phố nhất sao cho sau khi đóng, không còn bất kỳ đường đi nào giữa hai giao lộ trên. Bạn phải xuất cả số lượng nhỏ nhất và một tập phố đạt được số lượng đó. Hai đầu mút của một phố có thể được in theo bất kỳ thứ tự nào; mỗi phố chỉ được liệt kê một lần.
Input
- Dòng đầu chứa hai số nguyên .
- Mỗi trong dòng tiếp theo chứa hai số nguyên , cho biết có một phố hai chiều nối và . Mỗi cặp giao lộ xuất hiện nhiều nhất một lần.
Output
- Dòng đầu in số nguyên : số phố nhỏ nhất cần đóng.
- Tiếp theo in đúng dòng, mỗi dòng chứa hai đầu mút của một phố cần đóng. Có thể in bất kỳ phương án tối ưu nào.
Constraints
- .
- .
- .
- Mỗi cặp giao lộ có nhiều nhất một phố.
Scoring
- Subtask ( số điểm): và .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
6 8 1 2 1 3 2 4 3 4 2 5 3 5 4 6 5 6
Output
2 1 2 1 3
Giải thích: Đóng hai phố rời giao lộ sẽ cô lập khỏi . Vẫn có hai đường không dùng chung phố từ tới , nên không thể chỉ đóng một phố.