왕자들의 신붓감 찾기

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

옛날 옛적에 한 왕이 NN명의 왕자를 두고 있었다. 이 왕국에는 NN명의 아름다운 아가씨가 있었으며, 왕은 각 왕자가 어떤 아가씨들을 마음에 들어 하는지 모두 알고 있었다. 왕자들은 젊고 변덕스러워서 한 왕자가 여러 명의 아가씨를 좋아할 수도 있었다.

왕은 마법사에게, 각 왕자마다 그가 좋아하는 아가씨 한 명씩을 배정해 결혼시킬 수 있도록 짝을 지어 달라고 부탁했고, 마법사는 이를 해냈다. 각 왕자에게는 그가 좋아하는 아가씨가 배정되었으며, 물론 아름다운 아가씨는 저마다 오직 한 명의 왕자와만 결혼해야 한다.

그런데 왕은 그 명단을 보고 이렇게 말했다. “명단은 마음에 든다. 하지만 완전히 만족스럽지는 않구나. 나는 각 왕자마다 그가 결혼할 수 있는 모든 아가씨를 알고 싶다. 물론 그 왕자가 그 아가씨들 중 누구와 결혼하더라도, 나머지 모든 왕자에게 그가 좋아하는 서로 다른 아가씨를 여전히 한 명씩 배정할 수 있어야 한다.”

즉, 각 왕자 ii에 대해 다음을 만족하는 아가씨 gg를 모두 찾아야 한다. iigg를 좋아하고, iigg와 결혼시킨 뒤에도 나머지 왕자들을 각자 좋아하는 서로 다른 아가씨와 짝지어 완전한 짝짓기를 이룰 수 있어야 한다. 마법사의 목숨을 구하기 위해 이 문제를 해결하라.

입력

첫째 줄에 왕자의 수 NN이 주어진다 (1N20001 \le N \le 2000).

다음 NN개의 줄에는 각 왕자가 좋아하는 아가씨의 목록이 주어진다. 각 줄은 먼저 그 왕자가 좋아하는 아가씨의 수 KiK_i가 주어지고, 이어서 그 왕자가 좋아하는 서로 다른 KiK_i개의 정수가 주어진다. 각 정수는 아가씨의 번호로 11 이상 NN 이하이다. 모든 KiK_i의 합은 200000200\,000을 넘지 않는다.

마지막 줄에는 마법사가 처음 만든 짝짓기 명단이 주어진다. 이는 서로 다른 NN개의 정수로, ii번째 수는 ii번 왕자가 이 명단에 따라 결혼할 아가씨의 번호이다. 이 명단은 항상 올바르다. 즉, 각 왕자는 자신에게 배정된 아가씨를 반드시 좋아한다.

출력

NN개의 줄을 출력한다. 각 왕자 ii에 대해, 먼저 그 왕자가 좋아하면서 결혼할 수 있는(그와 결혼시킨 뒤에도 나머지 모든 왕자를 각자 좋아하는 아가씨와 완전히 짝지을 수 있는) 서로 다른 아가씨의 수 LiL_i를 출력한다. 이어서 같은 줄에 그 아가씨들의 번호를 오름차순으로 출력한다.

(원문은 아가씨들을 임의의 순서로 출력해도 된다고 했으나, 정답을 유일하게 만들어 채점하기 위해 반드시 오름차순으로 출력한다.)