Vô hướng thành có hướng

View as PDF

Time limit: 1.0s , Memory limit: 250M , Points: 30 (partial)

Cho đơn đồ thị vô hướng, liên thông G=(V, E), |V|=N, |E|=M, với N là số đỉnh, M là số cạnh của đồ thị. Bi muốn đổi thành đơn đồ thị có hướng, liên thông mạnh được hay không?

Hãy lập trình giúp Bi.

Input

Dòng thứ nhất chứa số nguyên dương T là số testcase thỏa 0 \le T \le 100, mỗi testcase gồm:

  • Dòng đầu tiên chứa hai số nguyên N, M thỏa 1 \le N \le 50; 1 \le M \le \frac{N(N-1)}{2}.

  • M dòng tiếp theo mô tả cạnh nối giữa hai đỉnh bởi X, Y thỏa 1 \le X \neq Y \le N.

Output

Ứng với mỗi testcase nếu không đổi được thì in ra NO, ngược lại thì in:

  • dòng thứ nhất in YES.

  • M dòng tiếp theo in các cặp số nguyên X, Y chỉ hướng đi từ X đến Y. M dòng này có thể in theo thứ tự bất kỳ.

Samples

Sample Input 1
3
3 3
1 2
2 3
1 3
4 3
1 2
1 3
1 4
4 5
1 2
2 3
4 3
1 4
2 4
Sample Output 1
YES
1 2
2 3
3 1
NO
YES
1 2
2 3
3 4
4 1
2 4

Comments