가챠를 돌려 동료를 늘리고 최강의 PS 군단을 만들자.

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

문제

우주 최고의 프로그래머 교준이는 NN명의 학생을 데리고 "최강의 PS 군단"을 만들고자 한다.

NN명의 학생 중에는 같이 있을 때 시너지 효과가 발생하는 학생 조합이 있다. ii번 학생의 "시너지 동료" 집합을 A_iA\_i라 하자. 이는, ii번 학생은, 모든 jA_ij \in A\_i에 대하여, 자신이 jj번 학생과 같이 있을 때 시너지 효과가 나온다고 생각함을 의미한다. 반대로, j∉A_ij \not \in A\_i라면, ii번 학생은 자신이 jj번 학생과 같이 있어도 시너지 효과가 나온다고 생각하지 않음을 의미한다. (0 iN1)(0 \le i \le N-1)

교준이가 생각하는 "최강의 PS 군단"의 조건은 꽤 까다롭다. NN명의 학생이 다음 조건을 모두 만족할 때, 교준이는 "이 NN명의 학생이 최강의 PS 군단을 이룬다''고 말한다:

  • ii번 학생이 jj번 학생의 "시너지 동료"라면, jj번 학생 또한 ii번 학생의 "시너지 동료"라야 한다(0 iN1,0 j N1)(0 \le i \le N-1, 0 \le j \le N-1).

  • 다음 조건을 모두 만족하도록 NN명의 학생을 하나 혹은 여러 개의 그룹으로 나눌 수 있다:

    • 각 학생은 정확히 하나의 그룹에 속한다.
    • 각 그룹에 속한 학생의 수는 11 이상 BB 이하다.
    • 자신과 다른 그룹에 속한 "시너지 동료"를 "외부 시너지 동료"라고 하자. 각 그룹에 대하여, 그 그룹에 속한 학생의 "외부 시너지 동료"의 수의 합은 CC 이하다.

NN명의 학생은 교준이에게 있어 "최강의 PS 군단"인지 판별하는 프로그램을 작성하시오.

입력

첫 번째 줄에 세 정수 NN, BB, CC가 주어진다.

두 번째 줄부터 NN개의 줄에 걸쳐, NN명의 학생의 "시너지 동료"에 대한 정보가 주어진다.

(i+2)(i+2)번째 줄에는 정수 A_i|A\_i|와, 집합 A_iA\_i에 속한 A_i|A\_i|개의 정수가 주어진다 (0 iN1)(0 \le i \le N - 1).

출력

만약, NN명의 학생이 "최강의 PS 군단"을 이루지 않는다면, 첫 번째 줄에 "NO"(따옴표 제외)를 출력한다.

만일, NN명의 학생이 "최강의 PS 군단"을 이룬다면, 첫 번째 줄에 "YES"(따옴표 제외)를 출력한다. 여기서, KK개의 집합 P_1,P_2,,P_KP\_1, P\_2, \cdots, P\_K가 다음 조건을 모두 만족한다고 하자:

  • 1KN1 \le K \le N
  • P_1P_2P_K=0,1,,N1P\_1 \cup P\_2 \cup \cdots \cup P\_K = \\{ 0, 1, \cdots, N-1 \\}
  • P_iP_j=P\_i \cap P\_j = \emptyset (1i<jK)(1 \le i < j \le K)
  •  1P_iB1 \le | P\_i | \le B (1iK)(1 \le i \le K)
  • _pP_iA_pP_iC\displaystyle \sum\_{p \in P\_i} \left| A\_p \setminus P\_i \right| \le C (1iK)(1 \le i \le K)

계속하여, 두 번째 줄에는 정수 KK를 출력한다.

또한, 세 번째 줄부터 KK개의 줄에 걸쳐, KK개의 집합 P_1,P_2,,P_KP\_1, P\_2, \cdots, P\_K애 대한 정보를 출력한다. (i+2)(i+2)번째 줄에는 정수 P_i| P\_i |와, 집합 P_iP\_i에 속한 P_i| P\_i |개의 정수를 오름차순으로 차례대로 출력한다 (1iK)(1 \le i \le K).

위와 같은 조건을 만족하는 (K,P_1,P_2,,P_K)(K, P\_1, P\_2, \cdots, P\_K)가 여러 가지라면, 그 중 아무거나 하나를 취해도 정답으로 인정된다.

제한

  • 1N2,5001 \le N \le 2\\,500
  • 0B0 \le B
  • 0C0 \le C
  • B+C15B+C \le 15
  • A_0+A_1++A_N130,000|A\_0| + |A\_1| + \cdots + |A\_{N-1}| \le 30\\,000
  • 집합 A_iA\_i에 속한 원소는 서로 다르다. (0 iN1)(0 \le i \le N-1)
  • 집합 A_iA\_i에 속한 원소는 모두 00 이상 N1N-1 이하다. (0 iN1)(0 \le i \le N-1)
  • i∉A_ii \not \in A\_i (0 iN1)(0 \le i \le N-1)