이분 그래프 덮기

가중치가 있는 이분 그래프에서 무게 합이 t 이상이고 어떤 매칭이 모든 꼭짓점을 덮는 부분집합의 개수를 센다.

어려움8동적 계획법비트 연산조합론그래프아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

이분 그래프는 정점 집합이 서로소인 두 집합 AABB로 나뉘고, 모든 간선이 AA의 정점 하나와 BB의 정점 하나를 잇는 그래프다. 매칭 MM은 어떤 두 간선도 정점을 공유하지 않는 간선 집합이다. 정점 집합 VV에 속한 모든 정점이 MM의 어떤 간선의 끝점이면, 매칭 MMVV를 덮는다고 하자.

각 정점에 양의 정수 가중치가 붙은 이분 그래프가 주어진다. 정점 집합의 가중치는 그 집합에 속한 정점의 가중치를 모두 더한 값이다.

정수 기준값 tt가 주어진다. 가중치가 tt 이상이면서 적어도 하나의 매칭이 덮는 정점 집합 VV가 몇 개인지 구하라. VVABA \cup B의 부분집합이며, 서로 다른 두 부분집합은 다른 것으로 센다.

입력

첫째 줄에 AA의 정점 개수 nnBB의 정점 개수 mm이 공백으로 구분되어 주어진다 (1n,m201 \le n, m \le 20). AA의 정점을 a1,a2,,ana_1, a_2, \dots, a_n, BB의 정점을 b1,b2,,bmb_1, b_2, \dots, b_m이라고 하자.

다음 nn개 줄에는 간선을 나타내는 mm개의 문자가 주어진다. ii번째 줄의 jj번째 문자는 aia_ibjb_j 사이에 간선이 있으면 1, 없으면 0이다.

다음 줄에 nn개의 정수 v1,v2,,vnv_1, v_2, \dots, v_n이 주어진다 (1vk100000001 \le v_k \le 10\,000\,000). vkv_kaka_k의 가중치다. 그다음 줄에 mm개의 정수 w1,w2,,wmw_1, w_2, \dots, w_m이 주어진다 (1wk100000001 \le w_k \le 10\,000\,000). wkw_kbkb_k의 가중치다.

마지막 줄에 정수 tt가 주어진다 (1t4000000001 \le t \le 400\,000\,000).

출력

가중치가 tt 이상이고 어떤 매칭이 덮는 정점 집합의 개수를 한 줄에 출력한다.

힌트

첫 번째 예제에서 부분집합 {a1,a2,b2,b3}\{a_1, a_2, b_2, b_3\}은 매칭 {(a1,b2),(a2,b3)}\{(a_1, b_2), (a_2, b_3)\}이 덮고 가중치가 21이다. {a3,b2,b3}\{a_3, b_2, b_3\}{a2,a3,b2,b3}\{a_2, a_3, b_2, b_3\}은 둘 다 매칭 {(a2,b3),(a3,b2)}\{(a_2, b_3), (a_3, b_2)\}가 덮으며 가중치는 각각 21과 23이다. 나머지 부분집합은 가중치가 21보다 작거나 어떤 매칭도 덮지 못한다. 예를 들어 {a2,a3,b1,b3}\{a_2, a_3, b_1, b_3\}은 가중치가 26이지만 이를 덮는 매칭이 없으므로 세지 않는다.