队伍配置
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

萌学姐在玩大型手游《futa go》,他现在准备进入作战环节,所以他准备安排自己的队伍。
队伍配置里,可供玩家选择的作战人物被称作“从者”,玩家可以对每个“从者”可以装备至多1件的“概念礼装”,玩家具有一个cost上限值。详细定义如下:
1、    每个从者和概念礼装都具有攻击值ATK。
2、    每个从者和概念礼装都会占据一定的cost值。
3、    每个从者和概念礼装只能上场一次,不能重复使用。
4、    概念礼装只能装备在从者上,不能单独存在。
5、    选择的从者和概念礼装的cost值之和不能超过玩家的cost上限值。
6、    最多可以选择5名从者(在cost值限制下)。
现在给出玩家仓库的每个从者和每件概念礼装的ATK值和cost值,问在满足定义的条件下,队伍可以凑出的最大ATK值

输入描述:

第1行输入三个整数n,m,d,代表玩家仓库的从者数量、概念礼装数量和cost上限值。
第2-n+1行,每行输入两个整数a1,b1,表示第i个从者的ATK值和cost值。
第n+2-n+m+1行,每行输入两个整数a2,b2,表示第i个概念礼装的ATK值和cost值。
数据保证:0<n,m≤300,25≤d≤138,1000≤a1≤15488,500≤a2≤2500,3≤b1,b2≤12

输出描述:

输出一行,一个整数,代表可以凑出的最大ATK值。
示例1

输入

复制
4 2 25
2001 5
2002 5
2003 5
4010 10
2004 10
2005 10

输出

复制
10016

说明

派上前4名从者,最大ATK值=2001+2002+2003+4010=10016(cost总值为25=玩家cost上限)