필승 전략

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

문제

원숭이와 멍멍이가 보드게임을 한다. 보드에는 알파벳 소문자로 이름 붙은 nn개 위치가 있고, 게임말로 현재 위치를 표시한다. 매 라운드는 두 단계다.

  1. 원숭이가 선택지 집합 하나를 고른다. 선택지는 멍멍이가 이동할 수 있는 위치들의 집합이다.
  2. 멍멍이는 그 집합 안에서 위치 하나를 골라 게임말을 옮긴다.

시작 전 원숭이는 끝 위치, 멍멍이는 시작 위치를 각각 정한다. 원숭이는 게임말이 끝 위치에 도달하면 승리한다. 매 라운드 끝에 원숭이가 멍멍이에게 돈을 주므로, 원숭이가 이기지 못하면 패가망신한다.

둘 모두 최적 전략으로 플레이할 때, 모든 시작 위치 pp와 끝 위치 qq에 대해 원숭이가 이기는 최소 라운드 수를 구한다. 이길 수 없으면 1-1이다.

입력

첫 줄에 위치 개수 nn (1n251 \le n \le 25)이 주어진다. 위치 이름은 알파벳 소문자 앞 nn개를 사용한다.

다음 nn줄은 위치 순서대로 정보가 주어진다. 각 줄은 선택지 개수 mm (1m<2n1 \le m < 2n)과 mm개의 문자열로 이루어진다. 문자열은 선택지를 나타내고, 멍멍이가 고를 수 있는 위치들을 알파벳 순으로 담는다.

출력

위치 순서대로 nn줄을 출력한다. ii번째 줄에는 시작 위치 ii에서 끝 위치 jj로 이기는 최소 라운드 수를 공백으로 구분하여 출력한다. 이길 수 없으면 1-1을 출력한다.