N명이 같은 책을 사려고 한다. 사람에게는 1번부터 N번까지 번호가 붙어 있고, 사람 j가 사려는 책은 Aj권이다. 이 책을 파는 온라인 서점은 M곳이고, 서점에도 1번부터 M번까지 번호가 붙어 있다. 서점 i에 있는 책은 Bi권이다.
이 책을 사려는 사람은 이 N명뿐이고, 서점에 있는 책의 총합과 사람들이 사려는 책의 총합은 같다.
한 사람이 한 서점에서 사는 양에는 제한이 있다. 사람 j는 서점 i에서 최대 Cij권까지 살 수 있다. 온라인 서점은 책을 한 권씩 따로 택배로 보내고, 배송비는 서점과 사람 사이의 거리, 회원 등급 등 여러 조건으로 정해진다. 서점 i가 사람 j에게 책 한 권을 보내는 데 드는 배송비는 Dij원이다.
구매 제한과 배송비가 모두 주어질 때, 책을 최대 몇 권 살 수 있는지, 그리고 그만큼 살 때 배송비 합의 최솟값은 얼마인지 구하는 프로그램을 작성하시오.
첫째 줄에 사람의 수 N과 온라인 서점의 수 M이 주어진다. (1≤N,M≤100)
둘째 줄에 각 사람이 사려는 책의 수 A1,A2,…,AN이 주어진다. (1≤Aj≤100)
셋째 줄에 각 서점에 있는 책의 수 B1,B2,…,BM이 주어진다. (1≤Bi≤100)
넷째 줄부터 M개의 줄에 구매 제한이 주어진다. i번째 줄의 j번째 수는 사람 j가 서점 i에서 최대 몇 권까지 살 수 있는지를 뜻하는 Cij이다. (0≤Cij≤100)
그 다음 M개의 줄에 배송비가 주어진다. i번째 줄의 j번째 수는 서점 i가 사람 j에게 책 한 권을 보내는 데 드는 배송비 Dij이다. (1≤Dij≤1000)
A1+A2+⋯+AN=B1+B2+⋯+BM이 항상 성립한다.
첫째 줄에 살 수 있는 책의 최대 권수를 출력한다.
둘째 줄에 그 권수를 살 때 드는 배송비 합의 최솟값을 출력한다. 한 권도 살 수 없으면 두 줄 모두 0을 출력한다.