#include<bits/stdc++.h>
using namespace std;
#define rep(i,s,t) for (int i=s;i<=t;i++)
#define pi acos(-1)
typedef long long LL;
typedef pair<int,int> PII;
typedef pair<double, double> PDD;
typedef pair<PII, PII> PPP;
typedef pair<PII, int> PPI;
#define repp(i,s,t) for (int i=s;i>=t;i--)
template<class T> T sqr(T x) {return x*x;}
#define debug(x) cerr<<#x"="<<(x)<<endl;
#define pb(x) push_back(x);
#define ori(x) x-'a'
const int maxn = 201;
const LL inf = 1ll << 60;
LL f[maxn][maxn][2];
LL s[maxn], r[maxn];
LL n,A,B;
int main()
{
	while (scanf("%d%d%d",&n,&A,&B)!=EOF)
	{
		LL sum = 0;
		rep(i,1,n) 
		{
			cin >> r[i] >> s[i];
			sum += s[i];
		}
		rep(i,0,n) rep(j,0,sum) f[i][j][0] = f[i][j][1] = inf;
		f[n][0][1] = f[n][0][0] = -inf;
		repp(i,n-1,0) 
		{
			repp(j,sum,0)
			{
				if (j >= s[i+1])
					f[i][j][0] = min(f[i][j][0], f[i+1][j-s[i+1]][1] - r[i+1]);
				if (j < sum) f[i][j][0] = min(f[i][j][0], f[i][j+1][0]);
				f[i][j][0] = min(f[i][j][0], max(f[i+1][j][0] + r[i+1] + 1, 1ll));
			}
			rep(j,0,sum)
			{
				f[i][j][1] = -inf;
				f[i][j][1] = max(f[i][j][1], f[i+1][j][0] + r[i+1]);
				if (j >= s[i+1])
					f[i][j][1] = max(f[i][j][1], min(-1ll, f[i+1][j-s[i+1]][1] - r[i+1] - 1ll));
				if (j) f[i][j][1] = max(f[i][j][1], f[i][j-1][1]);
			}
		}
		repp(i,sum,0) if (f[0][i][0] <= A-B)
		{
			cout << i << " " << sum - i << endl;
			break;
		}
	}
	return 0;
}

