小A的任务
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小A现在需要完成有序的 A 类任务和 B 类任务各 n 个,初始时只有第 1A 类任务可以进行。进行第 iA 类任务需在完成第 i - 1A 类任务之后,进行第 iB 类任务需要在完成第 iA 类任务之后。且在同一时刻只能进行 A 类和 B 类中的一类任务,同一类的任务只能同时进行一个,任何一个任务都至多完成一次。

总共有 q 次询问,每次询问你需要回答完成 kB 类任务至少需要多长时间。

输入描述:

第一行两个整数 n\;(1\leq n \leq 10^5)q\;(1\leq q \leq 100) ,分别表示任务个数与询问次数。

第二行 n 个整数,其中第 i 个数字 a_i\;(1\leq a_i \leq 10^9) 表示完成第 iA 类任务所需要的时间。

第三行 n 个整数,其中第 i 个数字 b_i\;(1\leq b_i \leq 10^9) 表示完成第 iB 类任务所需要的时间。

接下来 q 行,每行一个整数 k\;(1\leq k \leq n) ,表示询问。

输出描述:

对于每次询问,输出一行一个整数,表示询问结果。
示例1

输入

复制
4 3
1 2 3 4
4 1 2 3
1
2
3

输出

复制
4
8
13
示例2

输入

复制
5 2
19 1 20 2 17
12 20 17 4 2
3
5

输出

复制
75
114

备注:

对于样例一的第一个询问,需要先完成前 2A 类任务,再完成第 2B 类任务。