시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
학생들은 지금 치르는 모의고사가 마지막 일정이라고 생각할 수 있지만, 모의고사가 끝난 뒤에는 마지막 조별 시합이 남아 있다. 이 시합에서는 학생들을 A조와 B조, 두 조로 나눈다. 이번에는 각 학생이 풀 수 있는 알고리즘 문제의 종류를 기준으로 조를 나누기로 했다.
학생은 모두 N명(1 <= N <= 1,000)이고, 알고리즘 문제의 종류는 D가지(1 <= D <= 15)이다. A조의 수준을 일정하게 맞추기 위해, A조에 속한 학생 중 한 명이라도 풀 수 있는 서로 다른 문제 종류의 수가 K가지(1 <= K <= D) 이하가 되도록 A조를 뽑는다. 나머지 학생들은 모두 B조에 넣는다.
조별 시합에는 조별 토론 시간이 있다. 따라서 어떤 문제 종류를 조 안의 학생 중 한 명이라도 풀 수 있다면, 그 조의 다른 학생들도 그 문제 종류를 풀 수 있다고 본다.
이 조건만으로는 A조와 B조의 우열을 바로 판단하기 어렵다. 먼저 A조의 인원을 최대 몇 명까지 만들 수 있는지 알아보려 한다. 학생들의 정보가 주어졌을 때, A조의 최대 인원수를 구하는 프로그램을 작성하시오.
첫째 줄에 세 정수 N, D, K가 주어진다.
다음 N개의 줄에는 1번 학생부터 N번 학생까지의 정보가 차례로 주어진다. 각 줄의 첫 번째 정수는 그 학생이 풀 수 있는 알고리즘 문제 종류의 개수이다. 이어서 그 학생이 풀 수 있는 문제 종류의 번호가 주어진다. 문제 종류의 번호는 1부터 D까지의 정수로 나타낸다.
A조에 넣을 수 있는 학생 수의 최댓값을 출력한다.