编程题
### 问题描述
小蓝在一个被称为 R 星的星球上进行挖矿。由于小蓝所携带的氧气瓶数量有限,他只能在 R 星停留 $T$ 个单位的时间。 R 星上存在着 $n$ 个拥有三种属性分别为 $X_i$、$Y_i$、$Z_i$ 的矿石。如果小蓝在 $t$ 时刻完成第 $i$ 个矿石的开采,他将获得 $X_i - t \times Y_i$ 个单位的 R 能量,并且需要花费 $Z_i$ 个单位的时间。小蓝希望在有限的时间内通过开采矿石获得尽可能多的 R 能量,因此,请你设计一个方案,使得挖掘到的矿石所获得的 R 能量最大化。
### 输入格式
第一行是两个正整数 $T$ 和 $n$ , $T$ 表示小蓝在 R 星只能停留的时间, $n$ 表示 R 星的矿石数量。
第二行是 $n$ 个整数 $X_i$ , $X_i$ 表示矿石的其中一个属性参数。
第三行是 $n$ 个整数 $Y_i$ , $Y_i$ 表示矿石的其中一个属性参数。( $X_i$ 和 $Y_i$ 两个变量的具体的作用是计算在某时刻采集的第 $i$ 个矿石所获得的 R 能量,上述题意已说明)
第四行是 $n$ 个整数 $Z_i$ , $Z_i$ 表示矿石的其中一个属性参数,即采集第 $i$ 个矿石所花费的时间。
### 输出格式
输出小蓝在 R 星采集矿石后所获得的 R 能量最大值。
### 样例输入
```
30 3
100 200 300
2 5 10
30 20 10
```
### 样例输出
```
250
```
### 说明
在这个例子中,小蓝有 $50$ 个单位的时间 $ (T = 50) $ 来采矿,共有 $3$ 个矿石 $ ( n = 3) $ 。
小蓝的目标是在有限的时间内最大化获得 R 能量。要达到这个目标,他需要设计一个方案来选择合适的矿石进行开采。
解决方案如下:
首先采集第三个矿石,花费了 $10$ 个单位的时间,此时时刻为 $10$ 个单位,因此所获得的 R 能量为 $300 - 10 \times 10 = 200 $。
最后再采集第二个矿石,花费了 $20$ 个单位的时间,此时时刻为 $30$ 个单位 $(10+20)$ ,因此所获得的 R 能量为 $200 - 5 \times 30 = 50$ 。
此时, $30$ 个单位的时间刚好用完。所以,小蓝在 R 星上采集矿石后所获得的R能量最大值为 $250 (200 + 50) $ 。
### 测评数据规模
对于 $100\\%$ 的数据,$1 \leq n \leq 50$,其余所有数字均小于 $10^5$ 。