가십

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

문제

한 도시에 공영 버스 시스템이 있다. 모든 버스 노선은 정류장을 최소 두 개 이상 가지는 순환 노선이며, 서로 다른 노선이 같은 정류장을 공유할 수 있다. 여러 대의 버스가 운행하고, 각 버스에는 정확히 한 명의 기사가 배정된다. 모든 버스는 한 단위 시간마다 동시에 움직인다. 즉, 한 단위 시간이 지나면 각 버스는 현재 정류장에서 자기 노선의 다음 정류장으로 이동하며, 노선의 마지막 정류장을 지난 뒤에는 다시 첫 정류장으로 돌아온다.

처음에 각 기사는 다른 어떤 기사도 모르는 자신만의 소식 하나를 알고 있다. 두 명 이상의 기사가 같은 시각에 같은 정류장에 있으면, 그들은 서로가 아는 모든 소식을 주고받아 그 이후에는 모두 같은 소식들을 알게 된다.

노선은 $n$개($0 < n < 20$), 기사와 버스는 각각 $d$개($0 < d < 30$)이며 $1$번부터 $d$번까지 번호가 매겨져 있고, 정류장은 $s$개($0 < s < 50$)로 $1$번부터 $s$번까지 번호가 매겨져 있다. 같은 노선 위에서 여러 대의 버스가 서로 다른 정류장에서 출발해 운행할 수도 있다.

모든 기사가 언젠가 다른 기사들의 소식을 전부 알게 되는지 판정하여라.

입력

입력은 여러 개의 블록으로 이루어지며, 마지막 블록을 제외한 각 블록은 하나의 도시를 나타낸다.

각 블록의 첫 줄에는 세 정수 $n$, $d$, $s$가 공백 하나로 구분되어 주어진다. 이어지는 $2n$개의 줄은 $n$개의 노선을 노선마다 두 줄씩 나타낸다.

  • 첫 줄에는 버스가 지나는 순서대로 그 노선의 정류장 번호들이 나열된다. 나열된 마지막 정류장을 지나면 버스는 다시 첫 정류장으로 돌아온다.
  • 둘째 줄에는 이 노선에서 출발하는 버스들이 $s_i\ d_i$ 쌍으로 주어진다. 여기서 $s_i$는 버스가 출발하는 정류장 번호이고 $d_i$는 그 버스 기사의 번호이다. 줄의 모든 수는 공백 하나로 구분된다.

마지막 블록은 0 0 0 한 줄로만 이루어지며, 처리하지 않는다.

출력

마지막 블록을 제외한 각 블록에 대해 한 줄씩 출력한다. 그 도시에서 모든 기사가 언젠가 다른 기사들의 소식을 전부 알게 되면 Yes를, 그렇지 않으면 No를 출력한다. 답은 입력에 블록이 나타난 순서대로 출력한다.