#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
using namespace std;
const int N = 2e5 + 5;
map<int, int> ma;
vector<int> d;
int main() {
long long n, a, b;
cin >> n >> a >> b;
for (int i = 1; i <= n; i++) {
int ni, di;
cin >> ni >> di;
ma[di] = ni;
d.push_back(di);
}
sort(d.begin(), d.end());
long long ans = 0;
for (auto i : d) {
if (ma[i]) {
int o = b - i;
if (ma.count(o) && ma[o]) {
if (o == i) {
ans += ma[i] / 2;
ma[i] %= 2;
} else {
int t = min(ma[i], ma[o]);
ans += t;
ma[i] -= t;
ma[o] -= t;
}
}
o = a - i;
if (ma.count(o) && ma[o]) {
if (o == i) {
ans += ma[i] / 2;
ma[i] %= 2;
} else {
int t = min(ma[i], ma[o]);
ans += t;
ma[i] -= t;
ma[o] -= t;
}
}
}
}
cout << ans;
return 0;
}