주방 조합론

어울리지 않는 접시 쌍을 피해 전채와 본요리 후식을 고르고 공유 재료의 브랜드 가짓수를 곱해 총 경우의 수를 구합니다.

보통4완전 탐색조합론아직 제출이 없습니다시간 제한4초메모리 제한256 MB

문제

요리사가 애피타이저 하나, 메인 요리 하나, 디저트 하나로 이루어진 3코스 저녁 식사를 준비한다. 요리책에는 코스마다 여러 요리가 실려 있지만, 서로 어울리지 않는 요리 쌍이 있어서 그런 두 요리는 같은 저녁 식사에 함께 낼 수 없다.

요리마다 재료 목록이 정해져 있고, 재료마다 여러 브랜드가 팔린다. 같은 재료라도 브랜드가 다르면 서로 다른 저녁 식사로 센다.

한 재료가 고른 세 요리 중 둘에 들어갈 수도 있고, 셋 모두에 들어갈 수도 있다. 고른 요리 중 둘 이상이 같은 재료를 쓰면 요리사는 그 재료를 한 브랜드만 사서 모든 요리에 똑같이 쓴다.

애피타이저 하나, 메인 요리 하나, 디저트 하나를 고르는 방법과 세 요리가 쓰는 재료마다 브랜드를 고르는 방법을 모두 합쳐, 서로 다른 저녁 식사가 몇 가지인지 세어라.

입력

첫째 줄에 정수 다섯 개 rr, ss, mm, dd, nn이 주어진다. rr는 존재하는 재료의 수 (1r10001 \le r \le 1000), ss, mm, dd는 각각 고를 수 있는 애피타이저, 메인 요리, 디저트의 수 (1s,m,d251 \le s, m, d \le 25), nn은 서로 어울리지 않는 요리 쌍의 수 (0n20000 \le n \le 2000)이다.

둘째 줄에 정수 rrb1,,brb_1, \dots, b_r가 주어진다. bib_i (1bi1001 \le b_i \le 100)는 재료 ii의 브랜드 수이다.

다음 s+m+ds + m + d개 줄에 애피타이저 ss개, 메인 요리 mm개, 디저트 dd개를 차례로 설명한다. 각 줄은 그 요리에 들어가는 재료의 수 kk (1k201 \le k \le 20)로 시작하고, 이어서 서로 다른 정수 i1,,iki_1, \dots, i_k (1ijr1 \le i_j \le r)가 주어진다.

마지막 nn개 줄에는 서로 어울리지 않는 두 요리의 번호가 주어진다. 요리에는 입력에 나온 순서대로 11번부터 s+m+ds + m + d번까지 번호가 붙으므로, 1js1 \le j \le s이면 애피타이저, s<js+ms < j \le s + m이면 메인 요리, s+m<js+m+ds + m < j \le s + m + d이면 디저트이다. 한 쌍을 이루는 두 요리는 항상 서로 다른 코스에 속하고, 같은 쌍이 두 번 주어지지 않는다.

출력

서로 다른 저녁 식사의 수가 101810^{18} 이하이면 그 수를 출력한다. 그렇지 않으면 too many를 출력한다.