마리타의 남동생이 거실 바닥에 장난감을 온통 어질러 놓았다. 다행히 마리타는 장난감을 치우는 특별한 로봇들을 만들어 두었고, 어떤 로봇이 어떤 장난감을 집을지 정하는 일을 당신에게 부탁했다.
장난감은 모두 T개이며, i번 장난감은 정수 무게 Wi와 정수 크기 Si를 가진다. 로봇은 연약한 로봇과 작은 로봇 두 종류가 있다.
로봇 하나가 장난감 하나를 치우는 데 1분이 걸린다. 여러 로봇은 서로 다른 장난감을 동시에 치울 수 있고, 한 로봇은 여러 개의 장난감을 1분에 하나씩 차례로 치울 수 있다.
모든 장난감을 치울 수 있는지 판단하고, 가능하다면 모든 장난감을 치우는 데 걸리는 가장 짧은 시간(분)을 구하라.
첫째 줄에 연약한 로봇의 수 A, 작은 로봇의 수 B, 장난감의 수 T가 공백으로 구분되어 주어진다.
둘째 줄에 연약한 로봇 A개의 무게 제한 X0,X1,…,XA−1이 공백으로 구분되어 주어진다. A=0이면 이 줄은 비어 있다.
셋째 줄에 작은 로봇 B개의 크기 제한 Y0,Y1,…,YB−1이 공백으로 구분되어 주어진다. B=0이면 이 줄은 비어 있다.
이어지는 T개의 줄에 각 장난감의 무게 Wi와 크기 Si가 한 줄에 하나씩 주어진다.
모든 장난감을 치우는 데 걸리는 가장 짧은 시간(분)을 한 줄에 출력한다. 모든 장난감을 치우는 것이 불가능하면 −1을 출력한다.