#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
int n;
if (!(cin >> n)) return 0;
vector<int> arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
long long int target;
cin >> target;
// Use long long to avoid integer overflow during multiplications
long long int c1 = 0;
long long int c2 = 0;
long long int c3 = 0;
long long int c4 = 0;
// target must be non-negative and even
if (target >= 0 && target % 2 == 0) {
long long int k = target / 2;
for (int i = 0; i < n; i++) {
if (arr[i] == k) {
c1++;
} else if (arr[i] == -k) {
c2++;
} else if (arr[i] >= 0 && abs(arr[i]) < k) {
c3++;
} else if (arr[i] < 0 && abs(arr[i]) < k) {
c4++;
}
}
}
long long int ans = 0;
// Case A: Pairs where both elements have magnitude K
ans = ans + c1 * (c1 - 1) / 2; // (+K, +K)
ans = ans + c2 * (c2 - 1) / 2; // (-K, -K)
ans = ans + c1 * c2; // (+K, -K)
// Case B: Pairs where one element is +K and the other has smaller magnitude
ans = ans + c1 * c4;
ans = ans + c1 * c3;
// Case C: Pairs where one element is -K and the other has smaller magnitude
ans = ans + c2 * c3;
ans = ans + c2 * c4;
cout << ans << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGlmICghKGNpbiA+PiBuKSkgcmV0dXJuIDA7CiAgICB2ZWN0b3I8aW50PiBhcnIobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhcnJbaV07CiAgICB9CiAgICAKICAgIGxvbmcgbG9uZyBpbnQgdGFyZ2V0OwogICAgY2luID4+IHRhcmdldDsKICAgIAogICAgLy8gVXNlIGxvbmcgbG9uZyB0byBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93IGR1cmluZyBtdWx0aXBsaWNhdGlvbnMKICAgIGxvbmcgbG9uZyBpbnQgYzEgPSAwOwogICAgbG9uZyBsb25nIGludCBjMiA9IDA7CiAgICBsb25nIGxvbmcgaW50IGMzID0gMDsKICAgIGxvbmcgbG9uZyBpbnQgYzQgPSAwOwogICAgCiAgICAvLyB0YXJnZXQgbXVzdCBiZSBub24tbmVnYXRpdmUgYW5kIGV2ZW4KICAgIGlmICh0YXJnZXQgPj0gMCAmJiB0YXJnZXQgJSAyID09IDApIHsKICAgICAgICBsb25nIGxvbmcgaW50IGsgPSB0YXJnZXQgLyAyOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChhcnJbaV0gPT0gaykgewogICAgICAgICAgICAgICAgYzErKzsKICAgICAgICAgICAgfSBlbHNlIGlmIChhcnJbaV0gPT0gLWspIHsKICAgICAgICAgICAgICAgIGMyKys7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJyW2ldID49IDAgJiYgYWJzKGFycltpXSkgPCBrKSB7CiAgICAgICAgICAgICAgICBjMysrOwogICAgICAgICAgICB9IGVsc2UgaWYgKGFycltpXSA8IDAgJiYgYWJzKGFycltpXSkgPCBrKSB7CiAgICAgICAgICAgICAgICBjNCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICBsb25nIGxvbmcgaW50IGFucyA9IDA7CiAgICAKICAgIC8vIENhc2UgQTogUGFpcnMgd2hlcmUgYm90aCBlbGVtZW50cyBoYXZlIG1hZ25pdHVkZSBLCiAgICBhbnMgPSBhbnMgKyBjMSAqIChjMSAtIDEpIC8gMjsgLy8gKCtLLCArSykKICAgIGFucyA9IGFucyArIGMyICogKGMyIC0gMSkgLyAyOyAvLyAoLUssIC1LKQogICAgYW5zID0gYW5zICsgYzEgKiBjMjsgICAgICAgICAgIC8vICgrSywgLUspCiAgICAKICAgIC8vIENhc2UgQjogUGFpcnMgd2hlcmUgb25lIGVsZW1lbnQgaXMgK0sgYW5kIHRoZSBvdGhlciBoYXMgc21hbGxlciBtYWduaXR1ZGUKICAgIGFucyA9IGFucyArIGMxICogYzQ7CiAgICBhbnMgPSBhbnMgKyBjMSAqIGMzOwogICAgCiAgICAvLyBDYXNlIEM6IFBhaXJzIHdoZXJlIG9uZSBlbGVtZW50IGlzIC1LIGFuZCB0aGUgb3RoZXIgaGFzIHNtYWxsZXIgbWFnbml0dWRlCiAgICBhbnMgPSBhbnMgKyBjMiAqIGMzOwogICAgYW5zID0gYW5zICsgYzIgKiBjNDsKICAgIAogICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICAgIAogICAgcmV0dXJuIDA7Cn0=