#include <bits/stdc++.h>
using namespace std;
void executeTime() {
cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
}
int main() {
int n; cin >> n;
int x, y; cin >> x >> y;
vector<int> v(n);
for (auto &x : v) {
cin >> x;
}
unordered_map<int, int> mp;
mp[0]++;
int curr = 0, ans = 0;
for (int j = 0; j < n; j++) {
curr += (v[j] == x ? 1 : -1);
ans += mp[curr];
mp[curr]++;
}
cout << ans << endl;
executeTime();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGV4ZWN1dGVUaW1lKCkgewogICAgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgc2VjcyI7Cn0KCmludCBtYWluKCkgewoKICAgIGludCBuOyBjaW4gPj4gbjsKCiAgICBpbnQgeCwgeTsgY2luID4+IHggPj4geTsKCiAgICB2ZWN0b3I8aW50PiB2KG4pOwogICAgZm9yIChhdXRvICZ4IDogdikgewogICAgICAgIGNpbiA+PiB4OwogICAgfQoKCiAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBtcDsKICAgIG1wWzBdKys7CgogICAgaW50IGN1cnIgPSAwLCBhbnMgPSAwOwogICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgICBjdXJyICs9ICh2W2pdID09IHggPyAxIDogLTEpOwogICAgICAgIGFucyArPSBtcFtjdXJyXTsKCiAgICAgICAgbXBbY3Vycl0rKzsKICAgIH0KCiAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwoKICAgIGV4ZWN1dGVUaW1lKCk7CiAgICByZXR1cm4gMDsKfQ==