#include <bits/stdc++.h>
using namespace std;

template<class T> void chmax(T &a, const T &b) { if(a < b) a = b; }

constexpr int offset = 300;
int dp[101][301][901];

int main() {
	int n;
	cin >> n;

	int x, y;
	cin >> x >> y;

	memset(dp, -1, sizeof(dp));
	dp[0][x][y + offset] = 0;

	for(int i = 0; i < n; ++i) {
		int a, b, c, d;
		cin >> a >> b >> c >> d;

		for(int j = 0; j <= 300; ++j) {
			for(int k = 0; k <= 900; ++k) {
				if(dp[i][j][k] == -1) continue;
//				cout << i << ' ' << j << ' ' << k << ' ' << dp[i][j][k] << endl;

				chmax(dp[i + 1][j][k], dp[i][j][k]);
				if(j - a >= 0) {
					assert(k + b <= 900);
					chmax(dp[i + 1][j - a][k + b], dp[i][j][k]);
				}

				if(k - c >= 0) {
					chmax(dp[i + 1][j][k - c], dp[i][j][k] + d);
				}
			}
		}
	}

	int ans = 0;
	for(int i = 0; i <= 300; ++i) {
		for(int j = offset; j <= 900; ++j) {
			chmax(ans, dp[n][i][j]);
		}
	}
	cout << ans << endl;

	return 0;
}