#DP2. 宝可梦 ( Second )

宝可梦 ( Second )

小劉穿越到了精灵宝可梦的世界,这个世界中有许多的宝可梦,你需要捕捉一些,现在给你最弱的初始宝可梦 固拉多

所有题目共享题目背景,但题面略有不同,请仔细阅读。

题目描述

你穿越的地方处于一条野生宝可梦频繁出没的地方,你每隔一段时间就会遇见野生宝可梦。

你有 V 个精灵球,你的宝可梦 固拉多 有 K 点体力, 你遇见的第 i 个野生宝可梦都需要你消耗对应的精灵球和你的宝可梦消耗对应的体力,然后你可以获得该只宝可梦,获得一定的积分。

现在一共会出现 N 次事件,即野生宝可梦出现。每次会出现 numinum_i 只宝可梦,我们假设小劉有两个选择:

收服: 每只需要消耗你 aia_i 个精灵球,需要消耗你的宝可梦 bib_i 点体力,捕捉后可以获得 wiw_i 的积分。

离开: 什么也不会发生。

当固拉多的体力小于等于 0 时,小劉就必须结束狩猎(因为他需要给固拉多疗伤),

而使得固拉多体力小于等于0的野生宝可梦也不会被小劉收服。

小劉需要你帮助计算最多可以获得多少积分。

输入描述

每组测试数据描述如下:

第一行两个正整数 N , V , K ( 1 \leqslant N \leqslant 10310^3) ( 1 \leqslant V \leqslant 10310^3 ) (1 \leqslant K \leqslant 5×1025 \times 10^2)

分别表示出现的事件数,精灵球个数,固拉多的体力值。

接下来 N 行,每行四个整数 numinum_i , aia_i , bib_i , wiw_i

我们用0表示无穷

( \infty \leqslant numinum_i \leqslant \infty )

( 1 \leqslant aia_i \leqslant 10310^3 )

( 0 \leqslant bib_i \leqslant 0 )

( 1 \leqslant wiw_i \leqslant 10310^3 )

输出描述

输出最多可以获得多少积分。

样例

4 5 500
0 1 0 2
0 2 0 4
0 3 0 4
0 4 0 5
10