봇인가 사람인가

두 보조 계정이 함께 팔로우한 게시물로 유사도 점수를 계산하고, 인간으로 알려진 계정과 유사한 계정 수를 센다.

보통6구현해시맵완전 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

가짜 뉴스는 봇 계정이 퍼뜨리는 경우가 많다. 봇은 사람으로 보이려고 다른 계정을 팔로우하고 그 계정의 글을 리포스트한다. 봇과 사람은 리포스트 패턴이 다르다. 이 차이로 어떤 계정이 사람인지 가려내자.

계정은 두 종류다. 글을 올리는 주 계정이 pp개, 주 계정의 글을 리포스트하는 부 계정이 ss개 있다. 각 부 계정마다 어떤 주 계정을 팔로우하는지, 사람으로 확인된 계정인지, 리포스트한 글이 무엇인지 주어진다. 부 계정은 자기가 팔로우하는 주 계정의 글을 모두 본다고 가정한다. 그래서 본 글을 리포스트하지 않은 것도 의도적인 선택이다.

두 부 계정의 유사도 점수는 정수 세 개 w0w_0, w1w_1, w2w_2 (w1<0<w0,w2w_1 < 0 < w_0, w_2)로 정한다. 두 계정이 모두 팔로우하는 주 계정의 글만 점수 계산에 쓴다. 그런 글 하나마다, 그 글을 리포스트한 계정이 두 계정 중 jj개면 wjw_j를 더한다. 둘 다 리포스트했거나 둘 다 리포스트하지 않았으면 양수 점수를 받고, 한쪽만 리포스트했으면 음수 점수 w1w_1을 받는다. 두 계정이 함께 팔로우하는 주 계정이 하나도 없으면 점수는 0이다.

점수의 합이 기준값 tt 이상인 두 계정을 비슷하다고 한다. 사람으로 확인된 계정과 비슷한 부 계정은 사람으로 판정한다. 사람으로 판정된 계정과 비슷하다는 이유로 사람이 되지는 않는다. 판정은 이렇게 한 단계만 적용한다.

데이터 집합마다 사람으로 확인되었거나 사람으로 판정된 부 계정의 수를 구하라.

입력

첫 줄에 데이터 집합의 개수 KK가 주어진다. 이어서 데이터 집합 KK개가 다음 형식으로 주어진다.

데이터 집합의 첫 줄에는 정수 여섯 개 pp, ss, w0w_0, w1w_1, w2w_2, tt가 주어진다. 1p1001 \le p \le 100은 주 계정의 수, 1s1001 \le s \le 100은 부 계정의 수, 100w1<0<w0,w2100-100 \le w_1 < 0 < w_0, w_2 \le 100은 유사도 점수, 0t<1000000 \le t < 100000은 기준값이다.

다음 줄에는 정수 ppmim_i (0mi10000 \le m_i \le 1000)가 주어진다. mim_i는 주 계정 ii가 올린 글의 수다. 글에는 1번부터 번호를 붙이는데, 앞의 m1m_1개는 주 계정 1의 글, 그다음 m2m_2개는 주 계정 2의 글, 같은 식으로 이어진다.

다음 ss개 줄에는 부 계정 jj의 정보가 한 줄에 하나씩 주어진다. 줄은 정수 hjh_j로 시작한다. hjh_j가 1이면 사람으로 확인된 계정이고, 0이면 사람인지 봇인지 아직 모르는 계정이다. 그다음 정수 fjf_j (0fjp0 \le f_j \le p)는 jj가 팔로우하는 주 계정의 수이고, 이어서 서로 다른 정수 fjf_j개가 11 이상 pp 이하로 주어진다. 이 값은 jj가 팔로우하는 주 계정의 번호다. 그다음 정수 rjr_j (0rjimi0 \le r_j \le \sum_i m_i)는 jj가 리포스트한 글의 수이고, 이어서 서로 다른 정수 rjr_j개가 11 이상 imi\sum_i m_i 이하로 주어진다. 이 값은 jj가 리포스트한 글의 번호다. 부 계정이 팔로우하지 않는 주 계정의 글을 리포스트하는 입력은 주어지지 않는다.

출력

데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. xx는 데이터 집합의 번호이고 1부터 센다. 다음 줄에 사람으로 확인되었거나 사람으로 판정된 부 계정의 수를 출력한다. 데이터 집합마다 그 뒤에 빈 줄을 하나 출력한다.