// 1,4,-1,2  targ = 4 
// index 1,4 |v[1]-v[4]|+|v[1]+v[4]|=target
//            [1-2] + [1+2]
//            |-1| + |3|
//             4
// index 3,4 |v[3]-v[4]|+|v[3]+v[4]|
//           |-1-2|+|-1+2|
//           |-3| + |1|
//            4
#include<bits/stdc++.h>
using namespace std;
 
#define ll long long
 
void solve(){
    ll n,target;
    cin>>n;
    vector<ll>v(n);
    for(ll &i:v)cin>>i;
    cin>>target;
 
    if(target&1){
        cout<<0<<"\n";
        return;
    }
    ll half_target=target/2;
 
    unordered_map<ll,ll>mp;
    for(ll i:v)mp[abs(i)]++;
 
    ll half_target_element=mp[half_target],less_than_half_target=0;
    for(auto &i:mp){
        if(i.first<half_target)less_than_half_target+=i.second;
    }
 
    ll ans=less_than_half_target*half_target_element;
    ans+=(half_target_element*(half_target_element-1))/2;
    cout<<ans<<"\n";
}
 
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    solve();
    return 0;
}
				Ly8gMSw0LC0xLDIgIHRhcmcgPSA0IAovLyBpbmRleCAxLDQgfHZbMV0tdls0XXwrfHZbMV0rdls0XXw9dGFyZ2V0Ci8vICAgICAgICAgICAgWzEtMl0gKyBbMSsyXQovLyAgICAgICAgICAgIHwtMXwgKyB8M3wKLy8gICAgICAgICAgICAgNAovLyBpbmRleCAzLDQgfHZbM10tdls0XXwrfHZbM10rdls0XXwKLy8gICAgICAgICAgIHwtMS0yfCt8LTErMnwKLy8gICAgICAgICAgIHwtM3wgKyB8MXwKLy8gICAgICAgICAgICA0CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwoKdm9pZCBzb2x2ZSgpewogICAgbGwgbix0YXJnZXQ7CiAgICBjaW4+Pm47CiAgICB2ZWN0b3I8bGw+dihuKTsKICAgIGZvcihsbCAmaTp2KWNpbj4+aTsKICAgIGNpbj4+dGFyZ2V0OwogICAgCiAgICBpZih0YXJnZXQmMSl7CiAgICAgICAgY291dDw8MDw8IlxuIjsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBsbCBoYWxmX3RhcmdldD10YXJnZXQvMjsKCiAgICB1bm9yZGVyZWRfbWFwPGxsLGxsPm1wOwogICAgZm9yKGxsIGk6diltcFthYnMoaSldKys7CgogICAgbGwgaGFsZl90YXJnZXRfZWxlbWVudD1tcFtoYWxmX3RhcmdldF0sbGVzc190aGFuX2hhbGZfdGFyZ2V0PTA7CiAgICBmb3IoYXV0byAmaTptcCl7CiAgICAgICAgaWYoaS5maXJzdDxoYWxmX3RhcmdldClsZXNzX3RoYW5faGFsZl90YXJnZXQrPWkuc2Vjb25kOwogICAgfQoKICAgIGxsIGFucz1sZXNzX3RoYW5faGFsZl90YXJnZXQqaGFsZl90YXJnZXRfZWxlbWVudDsKICAgIGFucys9KGhhbGZfdGFyZ2V0X2VsZW1lbnQqKGhhbGZfdGFyZ2V0X2VsZW1lbnQtMSkpLzI7CiAgICBjb3V0PDxhbnM8PCJcbiI7Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=