농부 존이 기르는 소 N마리(1≤N≤20)가 십종경기를 준비한다. 소에는 늘 그렇듯 1번부터 N번까지 번호가 붙어 있고, 종목도 N개다. 종목이 열 개가 아니니 N종 경기라고 부르는 편이 정확하겠지만, 이름은 그대로 두기로 한다.
i번 소가 j번 종목에 나가면 실력 점수 sij(1≤sij≤1000)를 얻는다. 소 한 마리는 정확히 한 종목에만 나가고, 모든 종목에 소가 한 마리씩 배정된다.
팀의 기본 점수는 각 소가 자기가 나간 종목에서 얻은 실력 점수의 합이다. 심판은 경기가 인상적이면 여기에 보너스를 얹어 준다. 보너스는 B개(1≤B≤20)이고, i번 보너스는 세 정수 Ki, Pi, Ai(1≤Ki≤N, 1≤Pi≤40000, 1≤Ai≤1000)로 정해진다. 앞의 Ki개 종목에서 팀이 Pi점 이상을 얻으면 Ai점을 더 받는다.
앞의 Ki개 종목에서 얻은 점수에는 그 종목들만으로 이미 받은 보너스도 들어간다. 즉 Kj≤Ki인 j번 보너스를 이미 받았다면 Aj도 함께 센다. 보너스는 K가 작은 것부터 큰 것 순서로 판정하고, K가 같은 보너스가 여러 개면 조건을 만족하는 보너스가 더 없을 때까지 지급을 반복한다. 한 보너스를 두 번 받지는 못한다.
예를 들어 소가 N=3마리이고 실력 점수가 다음과 같다고 하자.
| 소 | 종목 1 | 종목 2 | 종목 3 |
|---|---|---|---|
| 1 | 5 | 1 | 7 |
| 2 | 2 | 2 | 4 |
| 3 | 4 | 2 | 1 |
1번 소가 3번 종목에 나가면 팀은 7점을 얻는다. 여기에 보너스가 하나 있어서 앞의 두 종목에서 7점 이상을 얻으면 6점을 더 준다고 하자. 그러면 1번 소를 1번 종목, 2번 소를 3번 종목, 3번 소를 2번 종목에 내보내는 배정이 가장 좋다. 앞의 두 종목에서 1번 소가 5점, 3번 소가 2점을 얻어 7점이 되므로 보너스 조건을 만족한다. 총점은 5+2+4+6=17점이다.
총점이 가장 커지도록 소를 종목에 배정하자.
첫째 줄에 소와 종목의 수 N, 보너스의 수 B가 공백을 사이에 두고 주어진다.
다음 B개 줄에는 보너스 정보가 한 줄에 하나씩 주어진다. 그중 i번째 줄에는 Ki, Pi, Ai가 공백을 사이에 두고 주어진다.
다음 N개 줄에는 소의 실력 점수가 주어진다. 그중 j번째 줄에는 j번 소가 각 종목에서 얻는 점수 sj1,sj2,…,sjN이 공백을 사이에 두고 주어진다.
첫째 줄에 보너스를 포함해 소들이 얻을 수 있는 최대 총점을 출력한다.