이 문제는 한 번 채점할 때 참가자의 프로그램을 2 번 실행하는 형식의 문제이다. 각 실행은 일반적인 문제와 같이 진행된다.
치노와 코코아는 리제의 훈련을 받고 있다. 그 훈련은 다음과 같이 구성된다.
치노와 코코아가 리제의 훈련을 무사히 마칠 수 있도록 도와주자!
첫 번째 줄에는 입력의 종류를 나타내는 정수 T (T∈1,2)가 주어진다.
T=1인 경우 두 번째 줄부터 치노의 입력이 주어진다. 치노의 입력의 첫 번째 줄에는 트리의 정점 개수를 나타내는 정수 N (100≤N≤1,000)이 주어진다. 그다음 줄부터 N−1개의 줄에 트리의 간선이 연결하는 두 정점을 나타내는 정수 u와 v (1≤u,v≤N, u=v)가 각각 주어진다.
T=2인 경우 두 번째 줄부터 코코아의 입력이 주어진다. 코코아의 입력의 첫 번째 줄에는 정수 N과 K (100≤N≤1,000)가 주어진다. N은 치노가 받은 트리의 정점 개수이고, K는 치노가 추가한 간선의 개수이다. 그다음 줄부터 N+K−1개의 줄에 그래프의 간선이 연결하는 두 정점을 나타내는 정수 u와 v (1≤u<v≤N)가 각각 주어진다. 각 간선은 u<v를 만족하도록 연결하는 두 정점의 순서가 조정되어 주어진다. 간선 사이의 순서는 u에 대해 오름차순으로, 만약 u가 같다면 v에 대해 오름차순으로 주어진다.
치노의 입력 (T=1)에서, 치노는 첫 번째 줄에 하나의 정수 K를 출력해야 한다. 이 값은 ⌊5N2⌋ 이상이어야 한다. 두 번째 줄부터 K개의 줄에 치노가 추가할 간선이 연결하는 두 정점을 나타내는 정수 u와 v (1≤u,v≤N, u=v)를 각각 출력해야 한다. 출력하는 간선은 치노가 처음에 받은 트리에 존재하지 않는 간선이어야 하며, 중복되지 않아야 한다.
코코아의 입력 (T=2)에서, 코코아는 첫 번째 줄부터 N−1개의 줄에 치노에게 주어진 트리의 간선들이 연결하는 두 정점의 번호 u와 v (1≤u,v≤N, u=v)를 각각 출력해야 한다. 출력하는 간선들은 중복되어서는 안 되며, 원래 트리에 간선 (u,v)가 있었다면 출력에 (u,v) 혹은 (v,u)가 존재해야 한다.