#1150. [202403月赛] 见好就收

[202403月赛] 见好就收

背景

过去的一个月是农历新年,小方小块小鸟度过了一个有趣的传统中国年。他们从生肖、对联等传统习俗里积累了不少文化知识;过年的糖果、食物让他们大饱口福;还有大家最喜欢的烟花、炮竹,绚丽多彩又热闹非凡。可惜很快的,年就过完了,他们已经在期待下一个新年的到来。这天,他们在分享自己的新年见闻,又展开了很多有意思的对话。

描述

小方向小块小鸟分享了他今年逗利事的有趣经历,他家里的一个长辈是个喜欢思考数学问题的人,往年向他逗利事,都需要做一些数学题,比如口算四位数加减法、两位数乘法之类的。经过过去几年的准备,小方和他们表兄弟姐妹们都已经把口算心算练的很熟练,心想今年的红包还不是手到擒来,轻而易举?

哪知道到了向这位长辈逗利事的那一天,长辈发明了新的玩法。具体是这样的,长辈在桌子上放好nn个利事,并在利事上标注该利事的金额,每人可以在5秒内自由选择两个利事。但同时,长辈给出一个上限limitlimit,表示,两个利事的总金额的上限。如果选择的利事超过上限,那今年的逗利事就失败了,没有利事。 比如,桌子上有5个利事,分别是1元、1元、5元、10元、10元,同时给出上限限是18,那么拿两个10元利事总计20元的,就属于逗利事失败,没有利事;而拿两个1元、一个1元一个5元、一个5元一个10元的情况,都算作成功,可以拿到利事,其中,一个5元一个10元的情况是这种规则下的最大利事总金额。

小方仔细想想,这不还是要训练我们快速口算嘛,他想知道,有没有办法可以写个程序,快速的找到在这个游戏规则里可以拿到的最大利事金额。

输入输出格式

输入

第一行为一个正整数nn,表示有几个利事。( 10n100,000 10 ≤ n ≤ 100,000 )

第二行为nn个以空格分割的正整数,表示利事的金额amountamount。 ( 1amount1,000,000 1 ≤ amount ≤ 1,000,000 )

第三行为一个正整数limitlimit,表示不要超过的金额。 ( 1limit2,000,000 1 ≤ limit ≤ 2,000,000 )

输出

在不超过限制下,能拿到的最高金额。

样例

5
1 1 5 10 10
18
15