typedef long long ll; typedef long double ld; #include using namespace std; #define int long long signed main(){ ll n,V,c; std::cin >> n>>V>>c; vector v(2*n),w(2*n); for (int i = 0; i < n; i++) { std::cin >> v[2*i]>>w[2*i]; v[2*i+1] = v[2*i]; w[2*i+1] = w[2*i]; w[2*i] += c; } vector> dp(2*n+1,vector(V+1,-1e18)); dp[0][0]=0; for (int i = 0; i < 2*n; i++) { for (int j = 0; j <= V; j++) { dp[i+1][j] = dp[i][j]; if(i%2==0){ if(j-v[i]>=0)dp[i+1][j] = max(dp[i+1][j],dp[i][j-v[i]]+w[i]); }else{ if(j-v[i]>=0)dp[i+1][j] = max(dp[i+1][j],dp[i+1][j-v[i]]+w[i]); } } } ll ans = 0; for (int i = 0; i <= V; i++) { ans = max(ans, dp[2*n][i]); } std::cout << ans << std::endl; }