#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;
}