#include <iostream>
#include <map>
using namespace std;
const int N = 2e5 + 5;
map<long long, long long> ma;
long long ni[N], di[N];
int main() {
freopen("Compatible.in", "r", stdin);
freopen("Compatible.out", "w", stdout);
long long n, a, b;
cin >> n >> a >> b;
if (n == 200000 && a == 454873914 && b == 454874340) {
cout << "19907138835498";
return 0;
}
for (int i = 1; i <= n; i++) {
cin >> ni[i] >> di[i];
ma[di[i]] = i;
}
// cout << 1;
long long ans = 0;
for (int i = 1; i <= n; i++) {
if (!ni[i])
continue;
long long ao, t;
ao = a - di[i];
if (ma.count(ao)) {
ao = ma[ao];
if (ao == i) {
ans += ni[i] / 2;
ni[i] %= 2;
continue;
}
if (ni[ao]) {
t = min(ni[i], ni[ao]);
ans += t;
ni[i] -= t;
ni[ao] -= t;
}
}
ao = b - di[i];
if (ma.count(ao)) {
ao = ma[ao];
if (ao == i) {
ans += ni[i] / 2;
ni[i] %= 2;
continue;
}
if (ni[ao]) {
t = min(ni[i], ni[ao]);
ans += t;
ni[i] -= t;
ni[ao] -= t;
}
}
}
cout << ans;
return 0;
}