超级闪光牛可乐
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

\,\,\,\,\,\,\,\,\,\,森林中出现了野生的超级闪光牛可乐口牙!
\,\,\,\,\,\,\,\,\,\,虽然我们不能为每一位参赛选手提供超级闪光牛可乐,但是……参加小白月赛且有通过题目的选手,第一名,前50名抽1人,51-200名抽2人,201名之后每100人抽1名,赠送牛可乐U型枕!
\,\,\,\,\,\,\,\,\,\,
\,\,\,\,\,\,\,\,\,\,森林中出现了野生的超级闪光牛可乐!想要捕捉它,你至少需要投喂 x 点诱惑力的食物。幸运的是,清楚姐姐在知道了这件事后,非常大气的为你开放了她的豪华零食仓库——仓库里有 n 种不同名称的食物,第 i 种食物能提供 w_i 点的诱惑力。当你所投喂食物的诱惑力之和不小于 x 时,就可以顺利的捕捉到它。
\,\,\,\,\,\,\,\,\,\,现在,你可以从仓库中取走一些食物了,不管怎么说,今天的目标只有一个,那就是拿下超级闪光牛可乐!

输入描述:

\,\,\,\,\,\,\,\,\,\,每个测试文件仅有一组测试数据。

\,\,\,\,\,\,\,\,\,\,第一行输入一个整数 x (1 \le x \le 1000) 表示至少需要多少诱惑力的食物才能捕捉这一只超级闪光牛可乐。
\,\,\,\,\,\,\,\,\,\,第二行输入一个整数 n (1 \le n \le 26) 表示清楚姐姐豪华零食仓库中的零食种类数量。
\,\,\,\,\,\,\,\,\,\,随后 n 行,每行输入一个小写字母 ch 和一个整数 w ({\rm 'a'} \le ch \le {\rm 'z'}, 1 \le w \le 500) ,表示第 i 种零食的名称以及提供的诱惑力。保证零食的名称不重复;使用单个空格间隔。

输出描述:

\,\,\,\,\,\,\,\,\,\,你需要在一行上输出一个由小写字母组成的答案字符串,代表你要喂给超级闪光牛可乐的食物。但是请注意,喂食的零食数量不能超过 1000 个,否则牛可乐会因为吃不下而直接离开。清楚姐姐仓库中没有的零食种类提供的诱惑力会被视为 0
\,\,\,\,\,\,\,\,\,\,如果无法捕获牛可乐,仅需输出一行 -1
示例1

输入

复制
6
2
q 1
c 3

输出

复制
cc

说明

\,\,\,\,\,\,\,\,\,\,在这个样例中,你至少需要 6 诱惑力的食物才能捕捉这一只超级闪光牛可乐,而一个名称为 \rm c 的零食就可以提供 3 诱惑力,所以你只需要投喂两个 \rm c 。当然,另外一种可行的投喂方式是投喂六个 \rm q
示例2

输入

复制
2
3
q 12
c 20
w 5

输出

复制
wida

说明

\,\,\,\,\,\,\,\,\,\,在这个样例中,投喂的食物一共能够提供 5 点诱惑力,足够捕捉这只超级闪光牛可乐。

备注:

\,\,\,\,\,\,\,\,\,\,如果有多个合法答案,你可以输出任意一种。