#531. 购物

购物

购物

题目描述

mm 种物品,每种物品有无限个,你可以购买 nn 个物品。

对于第 ii 种物品:

第一次买时的贡献是 aia_i ,接下来每购买一个的贡献都是 bib_i。即当你买了 xix_i 个第 ii 种物品时,贡献是 ai+bi×(xi1)a_i+b_i \times (x_i-1)

现在要你求出最大贡献。

输入格式

第一行一个 t(1t104)t (1≤t≤10^4),表示有 tt 组数据。

对于每组数据:

第一行 nnm(1n109,1m105)m (1≤n≤10^9,1≤m≤10^5)

接下来 mm 行,每行两个整数 aia_ibi(0ai,bi109)b_i (0≤a_i,b_i≤10^9)

每组数据后有一个空行。

输出格式

对于每组数据,输出一行一个整数表示最大的贡献。

样例

Input 1

2
4 3
5 0
1 4
2 2

5 3
5 2
4 2
3 1

Output 1

14
16

提示说明

Constraints

子任务 nn\le mm\le 特殊性质 分值
11 55 N/A 1515
22 10510^5 2020
33 10910^9 10510^5 max(bi)min(aj)\max(b_i) \le \min(a_j) 2020
44 N/A 5050

$t\le 10^4,0\le a_i,b_i\le 10^9,\sum m \le 3\times 10^5$


划分

题目描述

nn 栋连续的楼房,每栋楼有一个高度 aia_i 和价值 bib_i。 现在,你需要把这 nn 栋楼房划分成若干个连续段,每一个连续段的价值为该段中最矮的楼房的价值。总的价值为每个连续段的价值之和。

你需要求出最大可能的总价值。

输入格式

第一行一个整数 nn,表示楼房数。 第二行 nn 个整数,表示 a1na_{1\dots n}。 第三行 nn 个整数,表示 b1nb_{1\dots n}

输出格式

输出一行一个整数,表示最大的总价值。

样例

Input 1

5
1 2 3 5 4
1 5 3 2 4

Output 1

15

Input 2

5
1 4 3 2 5
-3 4 -10 2 7

Output 2

10

提示说明

Constraints

子任务 nn\le 特殊性质 分值
11 200200 N/A 1515
22 50005000
44 10510^5 aia_i 升序 1010
55 N/A 6060

109bi109-10^9 \le b_i\le 10^9

aa 为一个长度为 nn 的排列