#73. 黑盒子

黑盒子

题目描述

黑盒子代表一个原始的数据库。

它可以用来储存整数数组,并且它拥有一个特殊变量i\red{i}

在最开始,黑盒子是空的,并且i=0\red{i=0}

现在对黑盒子进行一系列的操作处理,操作包括以下两种:

1\red{1}ADD(x)\red{ADD(x)}:表示将x加入到黑盒子中。

2\red{2}GET\red{GET}:使i\red{i}增加1\red{1},输出黑盒子中第i\red{i}小的数值(即将所有数按升序排序后的第i\red{i}个数)。

下面给出一个具体例子:

img

为了方便描述,下面我们定义两个序列:

1\red{1}A(1),A(2),,A(M)\red{A(1),A(2),…,A(M)}:这个序列由加入到黑盒子内的所有元素按加入顺序排列后得到,上例中的A\red{A}序列为(3,1,4,2,8,1000,2)\red{(3,1,-4,2,8,-1000,2)}

2\red{2}u(1),u(2),,u(N)\red{u(1),u(2),…,u(N)}: 这个序列的第i\red{i}项表示的是第i\red{i}GET\red{GET}操作时,盒子内元素的数量。上例中的u\red{u}序列为(1,2,6,6)\red{(1,2,6,6)}

现在请你根据给出的序列A\red{A}u\red{u}求出操作过程中输出的所有数值。

输入格式

输入包括三行。 第一行包含两个整数M\red{M}N\red{N},表示A\red{A}序列和u\red{u}序列的长度。 第二行包含M\red{M}个整数,表示A\red{A}序列的每一个元素。 第三行包含N\red{N}个整数,表示u\red{u}序列的每一个元素。 同行每个数之间用空格隔开。

输出格式

输出操作过程中所有GET\red{GET}操作输出的数值。 每个数值占一行。

样例

输入样例

3 1 -4 2 8 -1000 2
1 2 6 6

输出样例

3
3
1
2

提示

A(i)<=2×109\red{|A(i)|<=2\times 10 ^9} , 1NM30000\red{1≤N≤M≤30000}, 对于所有p1pN,pu(p)M\red{p(1≤p≤N), p≤u(p)≤M}成立