芝麻开门
题号:NC204348
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    大家都听过阿里巴巴和四十大盗的故事吧。盗贼们把宝藏藏在了只有喊出“芝麻开门”才会打开的石洞里。每次抢劫完毕,盗贼们都会把抢来的宝藏放在一个箱子里装好,并整齐的排放在之前装好的箱子之后。现在山洞里有个箱子,阿里巴巴趁着盗贼外出的时间去山洞里窃取宝藏,然而不幸的是,他那吝啬的哥哥嫂子不肯借给他更多的工具,因此他每次只能带走一个箱子里的宝藏。由于盗贼们使用的箱子都是一模一样的,因此阿里巴巴并不确定哪个箱子里才装了最多的宝藏,为了节约时间,阿里巴巴决定从他进入山洞看到的第一个箱子开始,按顺序一个一个的查看箱子里的宝藏数目。由于阿里巴巴很细心,他知道盗贼们回来的时间,因此他可以从第个箱子一直查看到第个箱子,并在查看完毕后,把自己所找到的装有最多宝藏的箱子里的所有宝藏装走同时不被盗贼发现。现在给出个假设。假如阿里巴巴一进山洞看到了箱子,他可以一直查看到第个箱子,那么他最多可以装走多少宝藏?

输入描述:

第一行输入两个整数,分别代表箱子的个数和假设的个数。

第二行有个数,代表第个箱子里放了块宝藏。

第三到第行每行有两个数,代表阿里巴巴可以从第个箱子搜索到第个箱子。

输出描述:

输出行分别对应次假设,每行输出一个数字,代表阿里巴巴在对应假设下可以拿到的最多的宝藏。
示例1

输入

复制
3 3
41 18467 6334
1 2
1 1
1 1

输出

复制
18467
41
41