B. 复读机

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

毒蛙有 m 台复读机,第 i 台复读机会一次性将一条消息复读 a_i 次,每条消息都是一个数字。它们会依次复读形成一个长度为 (a_1+a_2+⋯+a_m) 的序列。

例如,原始消息为 1,1,2,3,复读次数为 2,1,2,1,复读产生的序列即为 1,1,1,2,2,3。

但是毒蛙的计算机存储结构并不够先进,所以毒蛙复读机复读出的序列中混进了一些数字,形成了一个长度为 n 的序列 s。这些数字有的混入复读消息之间,有的混入复读消息之中,但不会改变原本复读序列的顺序。

给定长度为 m 的复读次数序列 a 和长度为 n 的序列 s,请你求出毒蛙复读机原本复读出的序列。如果有多个合法的序列,输出任意一个即可。

输入格式

第一行,两个正整数,n 和 m。

第二行,m 个正整数,第 i 个正整数为 a_i

第三行,n 个正整数,第 i 个正整数为 s_i

输出格式

一行,一个长度为 (a_1+a_2+⋯+a_m) 的序列,表示毒蛙的复读机复读出的字符串。

样例

样例输入 #1

5 2
3 1
4 2 2 2 1

样例输出 #1

2 2 2 1

样例输入 #2

10 2
1 4
6 2 1 1 4 4 4 3 9 4

样例输出 #2

6 4 4 4 4

数据范围与提示

对于 100% 的数据,满足 1≤m≤n≤10^5 ,a_i≥1 ,且一定有解。

样例解释1

a_1=3,a_2=1 ,所以在答案中首先出现 3 个 2,再出现 1 个 1。

样例解释2

需要注意,毒蛙复读机复读出的序列不一定需要在 s 中连续。