잠입

시간 제한10초메모리 제한128 MB

문제

어떤 조직의 지휘 체계는 여러 개의 세포로 나뉘어 있다. 서로 다른 두 세포 $A$, $B$에 대해 다음 중 정확히 하나가 성립한다: $A$가 $B$를 지배하거나, $B$가 $A$를 지배한다. 이 "지배" 관계는 순환할 수 있어서, $A$가 $B$를, $B$가 $C$를, $C$가 $A$를 지배하는 일도 가능하다.

당신은 임의의 세포 하나에 침투할 수 있다. 어떤 세포에 침투하면 그 세포와 그 세포가 지배하는 모든 세포를 장악하게 되며, 그 밖의 세포는 장악하지 못한다. 위의 순환 예시에서 $A$에 침투하면 $A$와 $A$가 지배하는 세포 $B$를 장악하지만, $C$는 장악하지 못한다.

작전이 성공하려면 모든 세포를 장악해야 하며, 장악하지 못한 세포가 하나라도 남으면 작전이 발각된다. 자원이 넉넉하지 않으므로 작전은 최대한 효율적으로 수행해야 한다. 침투한 세포들과 그 세포들이 지배하는 세포들을 합쳐 모든 세포를 장악하기 위해 침투해야 하는 세포의 최소 개수를 구하여라.

입력

입력은 하나 이상의 테스트 케이스로 이루어지며, 파일의 끝까지 계속된다.

각 테스트 케이스의 첫째 줄에는 세포의 수 $n$이 주어진다 ($1 \le n \le 75$). 이어지는 $n$개의 줄에는 각각 길이 $n$인 이진 문자열이 주어진다. $j$번째 줄의 $i$번째 문자가 $1$이면 세포 $j$가 세포 $i$를 지배하고, $0$이면 그렇지 않다 ($1 \le i, j \le n$).

$i$번째 줄의 $i$번째 문자는 $0$이며, $i \ne j$인 경우 $j$번째 줄의 $i$번째 문자와 $i$번째 줄의 $j$번째 문자 중 정확히 하나만 $1$이다(둘 다 $1$인 경우는 없다).

출력

각 테스트 케이스마다 Case X: m c1 c2 ... cm 형식으로 한 줄을 출력한다. 여기서 X는 테스트 케이스 번호($1$부터 시작), m은 모든 세포를 완전히 장악하기 위해 침투해야 하는 세포의 최소 개수이다. m 다음에는 그러한 최소 집합에 속하는 세포 번호 c1 c2 ... cm을 엄밀히 증가하는 순서로 출력한다. 그러한 최소 집합이 여러 개이면, 세포 번호를 오름차순으로 나열한 수열이 사전순으로 가장 작은 집합을 출력한다.