라스트 히트

타워가 가장 가까운 살아 있는 몬스터를 쏘는 동안 막타를 쳐서 얻는 골드를 최대로 만듭니다.

보통6동적 계획법수학아직 제출이 없습니다시간 제한10초메모리 제한512 MB

문제

다이애나는 즐겨 하는 게임에서 골드를 최대한 많이 벌고 싶어 한다. 다이애나는 자기 편 타워 가까이에 서 있고, 몬스터 NN마리와 마주 보고 있다. 이 상황에서 다이애나와 타워가 번갈아 몬스터를 공격하며, 다이애나가 먼저 공격한다. 자기 차례에 다이애나는 살아 있는 몬스터 하나를 골라 공격할 수 있고, 아무것도 하지 않고 차례를 넘길 수도 있다. 타워는 자기 차례에 타워에서 가장 가까운 살아 있는 몬스터를 공격한다. 죽은 몬스터는 다이애나도 타워도 공격하지 않는다.

다이애나가 공격하면 그 몬스터의 체력이 PP만큼 줄고, 타워가 공격하면 QQ만큼 준다. 체력이 11 미만으로 떨어진 몬스터는 죽는다. ii번 몬스터의 처음 체력은 HiH_i이다. 다이애나의 공격이 ii번 몬스터를 죽이면 다이애나가 골드 GiG_i를 받고, 타워의 공격이 죽이면 아무것도 받지 못한다. 다이애나가 얻을 수 있는 골드의 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 PP, QQ, NN이 공백으로 구분되어 주어진다. 이어지는 NN개 줄 가운데 ii번째 줄에는 HiH_iGiG_i가 공백으로 구분되어 주어진다.

몬스터는 타워에서 가까운 순서대로 주어진다. 즉, 타워는 번호가 ii보다 작은 몬스터가 모두 죽은 뒤에야 ii번 몬스터를 공격한다.

제한

  • 1T1001 \le T \le 100
  • 20P20020 \le P \le 200
  • 20Q20020 \le Q \le 200
  • 1N1001 \le N \le 100
  • 1Hi2001 \le H_i \le 200
  • 0Gi1060 \le G_i \le 10^6

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx11부터 시작하는 테스트 케이스 번호이고, yy는 다이애나가 얻을 수 있는 골드의 최댓값이다.

힌트

예제 가운데 P=20P = 20, Q=60Q = 60인 테스트 케이스에서는 다이애나가 첫 번째 몬스터를 포기하는 편이 낫다. 처음 두 차례에 세 번째 몬스터를 공격해 체력을 8080까지 떨어뜨려 두면, 두 번째 몬스터와 세 번째 몬스터의 마지막 타격을 모두 다이애나가 가져간다.