#include using namespace std; using ll=long long; constexpr int MOD=998244353; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N,M; ll W; cin>>N>>M>>W; vector A(N,0ll); for(ll &i:A)cin>>i; sort(A.begin(),A.end()); A.push_back(0); reverse(A.begin(),A.end()); for(int i=1;i<=N;i++){ A[i]+=A[i-1]; } vector V(M,array()); for(int i=0;i>V[i][0]; for(int i=0;i>V[i][1]; ll ans=0; for(int i=0;i<1<>j&1){ nowW+=V[j][0]; nowV+=V[j][1]; } } if(nowW<=W){ if(W-nowW>N) ans=max(ans,nowV+A[N]); else ans=max(ans,nowV+A[W-nowW]); } } cout<