#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define pii pair<int, int>
const int mod = 1e9 + 7;
const int N = 1e6 + 5;
int x[35], y[35], ans = 0, u, v, mid, n;
map<pii, int> mp;
void bt1(int i = 1, int tongx = 0, int tongy = 0) {
if (i == mid + 1) {
++mp[{tongx, tongy}];
return;
}
bt1(i + 1, tongx, tongy);
bt1(i + 1, tongx + x[i], tongy + y[i]);
}
void bt2(int i = mid + 1, int tongx = 0, int tongy = 0) {
// if (tongx > u || tongy > v) return;
if (i == n + 1) {
if (mp.find({u - tongx, v - tongy}) != mp.end()) ans += mp[{u - tongx, v - tongy}];
return;
}
bt2(i + 1, tongx, tongy);
bt2(i + 1, tongx + x[i], tongy + y[i]);
}
void output() {
mid = n / 2;
bt1();
bt2();
cout << ans;
}
void input() {
cin >> n >> u >> v;
for (int i = 1; i <= n; ++i) cin >> x[i] >> y[i];
}
signed main () {
if(fopen("", "r")) {
freopen("", "r", stdin);
freopen("", "w", stdout);
}
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
input();
output();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwaWkgcGFpcjxpbnQsIGludD4KCgpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50IE4gPSAxZTYgKyA1OwppbnQgeFszNV0sIHlbMzVdLCBhbnMgPSAwLCB1LCB2LCBtaWQsIG47Cm1hcDxwaWksIGludD4gbXA7CgoKdm9pZCBidDEoaW50IGkgPSAxLCBpbnQgdG9uZ3ggPSAwLCBpbnQgdG9uZ3kgPSAwKSB7CiAgICBpZiAoaSA9PSBtaWQgKyAxKSB7CiAgICAgICAgKyttcFt7dG9uZ3gsIHRvbmd5fV07CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgYnQxKGkgKyAxLCB0b25neCwgdG9uZ3kpOwogICAgYnQxKGkgKyAxLCB0b25neCArIHhbaV0sIHRvbmd5ICsgeVtpXSk7Cn0Kdm9pZCBidDIoaW50IGkgPSBtaWQgKyAxLCBpbnQgdG9uZ3ggPSAwLCBpbnQgdG9uZ3kgPSAwKSB7CiAgICAvLyBpZiAodG9uZ3ggPiB1IHx8IHRvbmd5ID4gdikgcmV0dXJuOwogICAgaWYgKGkgPT0gbiArIDEpIHsKICAgICAgICBpZiAobXAuZmluZCh7dSAtIHRvbmd4LCB2IC0gdG9uZ3l9KSAhPSBtcC5lbmQoKSkgYW5zICs9IG1wW3t1IC0gdG9uZ3gsIHYgLSB0b25neX1dOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGJ0MihpICsgMSwgdG9uZ3gsIHRvbmd5KTsKICAgIGJ0MihpICsgMSwgdG9uZ3ggKyB4W2ldLCB0b25neSArIHlbaV0pOwp9CnZvaWQgb3V0cHV0KCkgewogICAgbWlkID0gbiAvIDI7CiAgICBidDEoKTsKICAgIGJ0MigpOwogICAgY291dCA8PCBhbnM7Cn0Kdm9pZCBpbnB1dCgpIHsKICAgIGNpbiA+PiBuID4+IHUgPj4gdjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgY2luID4+IHhbaV0gPj4geVtpXTsKfQpzaWduZWQgbWFpbiAoKSB7CiAgICBpZihmb3BlbigiIiwgInIiKSkgewogICAgICAgIGZyZW9wZW4oIiIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIiIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KCiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwoKICAgIGlucHV0KCk7CiAgICBvdXRwdXQoKTsKCiAgICByZXR1cm4gMDsKfQ==