Cho $p$ và $q$ là hai hoán vị của $\{1, 2, \dots, N\}$. Đồ thị tương đồng của $p$ và $q$, ký hiệu là $S(p, q)$, được định nghĩa như sau:
- $S(p, q)$ có $N$ đỉnh được đánh nhãn từ $1$ đến $N$.
- Có một cạnh nối giữa hai đỉnh $i$ và $j$ ($1 \le i < j \le N$) khi và chỉ khi $p_i < p_j$ và $q_i < q_j$ cùng đúng, hoặc cùng sai.
Bạn được cho một đồ thị vô hướng đơn $G$ với $N$ đỉnh được đánh nhãn từ $1$ đến $N$. Hãy tìm một cặp $(p, q)$ các hoán vị của $\{1, 2, \dots, N\}$ thỏa mãn $S(p, q) = G$.
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên $N$. Mỗi dòng trong $N$ dòng tiếp theo chứa $N$ số nguyên cách nhau bởi dấu cách. Số nguyên thứ $j$ của dòng thứ $i$, $E(i, j)$, bằng $1$ nếu có cạnh nối giữa đỉnh $i$ và đỉnh $j$, và bằng $0$ trong trường hợp ngược lại.
- $1 \le N \le 100$
- $0 \le E(i, j) \le 1$ ($1 \le i, j \le N$)
- $E(i, j) = E(j, i)$ ($1 \le i < j \le N$)
- $E(i, i) = 0$ ($1 \le i \le N$)
Dữ liệu ra
Nếu không thể tìm được $p$ và $q$ thỏa mãn điều kiện, hãy in ra NO. Nếu có thể, hãy in ra YES ở dòng đầu tiên. Trên hai dòng tiếp theo, in ra $p$ và $q$. Nếu có nhiều đáp án, hãy in ra bất kỳ đáp án nào trong số đó.
Ví dụ
Dữ liệu vào 1
4 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0
Dữ liệu ra 1
YES 1 2 3 4 2 4 1 3
Dữ liệu vào 2
6 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0
Dữ liệu ra 2
NO