Tube Master II
시간 제한2초메모리 제한512 MB
각 교차점에서 가로관 하나와 세로관 하나를 쓰거나 아무것도 쓰지 않도록 관을 골라, 각 칸이 지정된 수만큼 관을 갖게 하는 최소 비용을 구합니다.
문제
유우카는 "Tube Master"를 하고 있다. 게임 판은 개의 칸과 개의 교차점으로 나뉘어 있다. 교차점은 개의 가로 튜브와 개의 세로 튜브로 이어져 있다. 칸은 , 을 만족하는 로 표시하고, 교차점은 , 을 만족하는 로 표시한다. 각 칸 에는 정수 가 적혀 있다.

유우카는 다음 제약을 지키며 일부 튜브를 사용하려고 한다.
- 각 교차점에 연결된 튜브 중 사용하는 튜브는 0개 또는 2개이다.
- 연속한 가로 튜브는 동시에 사용할 수 없고, 연속한 세로 튜브도 동시에 사용할 수 없다. 두 튜브는 같은 교차점을 공유할 때에만 연속한다.
- 칸 를 둘러싼 튜브 중 정확히 개를 사용한다.
교차점 와 을 잇는 튜브를 사용하면 비용 가 든다. 교차점 와 를 잇는 튜브를 사용하면 비용 가 든다. 제약을 만족하는 배치 중 총비용이 가장 작은 값을 구한다.
입력
입력에는 0개 이상의 테스트 케이스가 들어 있으며, 파일의 끝에서 입력이 끝난다. 각 테스트 케이스는 다음과 같다.
첫 줄에 두 정수 과 ()이 주어진다.
이어지는 개의 줄 중 번째 줄에는 정수 ()이 개 주어진다.
이어지는 개의 줄 중 번째 줄에는 정수 이 개 주어진다.
마지막 개의 줄 중 번째 줄에는 정수 이 개 주어진다.
제약은 이다. 모든 테스트 케이스에 걸친 의 합은 을 넘지 않는다.
출력
각 테스트 케이스에 대해 유효한 배치의 최소 비용을 출력한다. 유효한 배치가 없으면 "-1"을 출력한다.