소들이 농장 안에서 서로 달리기 경주를 시작했는데, 원을 그리며 돌면 어지러워지고, 어지러운 소는 우유를 내지 않습니다. 그래서 농부 존은 모든 양방향 길을 일방통행 길로 바꾸어, 소가 출발한 자리로 다시 돌아오는 사이클이 농장에 하나도 남지 않게 하려고 합니다. 사이클이란 한 개 이상의 길을 지나 처음 출발한 목초지로 되돌아오는 경로를 말합니다.
농장에는 $1$번부터 $N$번까지 번호가 매겨진 $N$개의 목초지가 있습니다 ($1 \le N \le 10^5$). 이 목초지들은 $M_1$개의 일방통행 길 ($1 \le M_1 \le 10^5$)과 $M_2$개의 양방향 길 ($1 \le M_2 \le 10^5$)로 이어져 있습니다. 어떤 길도 한 목초지를 자기 자신과 잇지는 않지만, 서로 다른 두 목초지를 여러 개의 길이 이을 수는 있습니다. 또한 임의의 두 목초지 사이를 반드시 오갈 수 있는 것은 아닙니다.
각 일방통행 길은 목초지 $A_i$에서 목초지 $B_i$로 향합니다 ($1 \le A_i, B_i \le N$). 각 양방향 길은 목초지 $X_i$와 $Y_i$를 잇습니다 ($1 \le X_i, Y_i \le N$). 일방통행 길들은 이미 사이클을 이루지 않음이 보장되며, 방향을 바꾸지 않고 그대로 두어야 합니다. 여러분이 할 일은 모든 양방향 길에 방향을 정하여, 이제 일방통행 길로만 이루어진 농장 전체에 사이클이 없도록 만드는 것입니다.
예를 들어, 양방향 길이 목초지 $1$과 $3$, $2$와 $3$, $2$와 $4$를 잇고, 일방통행 길이 $1$에서 $2$로, $4$에서 $3$으로 향한다고 합시다:
1-->2
| /|
| / |
|/ |
3<--4
양방향 길을 $1 \to 3$, $2 \to 3$, $2 \to 4$의 방향으로 정하면 농장에 사이클이 남지 않습니다:
1-->2
| /|
| / |
v v
3<--4
다음의 정해진 규칙으로 양방향 길의 방향을 정합니다. 이 규칙에 따르면 답이 유일하게 결정됩니다.
$M_2$개의 줄을 출력합니다. $i$번째 줄에는 공백으로 구분된 두 정수, 즉 방향이 정해진 $i$번째 양방향 길의 시작 목초지와 도착 목초지를 출력합니다. 양방향 길은 입력과 같은 순서로 나타나야 합니다.
만약 일방통행 길 자체가 사이클을 이루어 유효한 방향 배정이 존재하지 않는다면, 대신 한 줄에 -1을 출력합니다.