编程题
### 问题描述
小蓝要去健身,他可以在接下来的 $1 \sim n$ 天中选择一些日子去健身。
他有 $m$ 个健身计划,对于第 $i$ 个健身计划,需要连续的 $2^{k_i}$ 天,如果成功完成,可以获得健身增益 $s_i$ ,如果中断,得不到任何增益。
同一个健身计划可以多次完成,也能多次获得健身增益,但是同一天**不能同时**进行两个或两个以上的健身计划。
但是他的日程表中有 $q$ 天有其他安排,不能去健身,问如何安排健身计划,可以使得 $n$ 天的健身增益和最大。
### 输入格式
第一行输入三个整数 $n,m,q$ 。
第二行输入 $q$ 个整数,$t_1,t_2,t_3...t_q$ ,代表有其他安排的日期。
接下来 $m$ 行,每行输入两个整数 $k_i, s_i$ 。代表该训练计划需要 $2^{k_i}$ 天,完成后可以获得 $s_i$ 的健身增益。
### 输出格式
一个整数,代表最大的健身增益和。
### 样例输入
```
10 3 3
1 4 9
0 3
1 7
2 20
```
### 样例输出
```
30
```
### 说明
在样例中 $2 \sim 3$ 天进行计划 $2$ ,$5 \sim 8$ 天进行计划 $3$ , $10 \sim 10$ 天进行计划 $1$ 。
### 评测数据范围
数据范围: $1 \le q \le n \le 2 \times 10 ^5 $ , $ 1 \le m \le 50$ , $ 1 \le s_i \le 10^9$ , $ 0 \le k_i \le 20$ , $ 1\le t_1 \lt t_2 \lt... \lt t_q \le n$ 。