루이지의 선술집
시간 제한8초메모리 제한512 MB
영웅, 전사, 성직자, 마법사의 수와 영웅-전사-성직자-마법사 순서의 궁합 목록이 주어질 때, 각 역할을 빠뜨릴 수 있는 횟수 제한을 지키며 만들 수 있는 파티 수의 최댓값을 구한다.
문제
루이지의 선술집은 나하일라 왕국에서 번창하는 선술집이다. 선술집의 주인 루이지는 파티를 조직하는 일을 돕는다. 선술집의 주 고객이 모험가이기 때문이다. 모험가마다 직업이 하나씩 있으며, 직업은 영웅, 전사, 성직자, 마법사 중 하나이다.
파티는 다음 조건을 모두 만족해야 한다.
- 파티에는 영웅이 있어야 한다.
- 파티의 전사와 영웅은 서로 사이가 좋아야 한다.
- 파티의 성직자와 전사는 서로 사이가 좋아야 한다.
- 파티의 마법사와 성직자는 서로 사이가 좋아야 한다.
- 파티에 전사, 성직자, 마법사가 모두 있는 것이 권장되지만, 전사가 없는 파티, 성직자가 없는 파티, 마법사가 없는 파티가 각각 최대 NW, NC, NM개까지 허용된다.
- 성직자가 없는 파티에는 전사와 마법사가 있어야 한다.
선술집에는 영웅 H명, 전사 W명, 성직자 C명, 마법사 M명이 있다. 이들이 만들 수 있는 파티 개수의 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 음이 아닌 정수 H, W, C, M, NW, NC, NM이 주어진다. 각 값은 50 이하이다. 이어지는 W개의 줄 중 i번째 줄에는 전사 i와 사이가 좋은 영웅의 목록이 주어진다. 목록은 음이 아닌 정수 ni로 시작하며 ni는 H 이하이다. 그 뒤에 ni개의 양의 정수가 주어지며, 각 정수는 전사 i와 사이가 좋은 영웅의 번호이다.
이 목록들 다음에는 C개의 줄에 성직자와 사이가 좋은 전사의 목록이 같은 형식으로 주어진다. j번째 줄에는 성직자 j와 사이가 좋은 전사의 목록이 주어진다. 그다음 M개의 줄에는 마법사와 사이가 좋은 성직자의 목록이 같은 형식으로 주어진다. k번째 줄에는 마법사 k와 사이가 좋은 성직자의 목록이 주어진다.
출력
가능한 파티 개수의 최댓값을 출력한다.