#include <bits/stdc++.h>
using namespace std;
int countOfSubarray(vector<int>& a , int x , int y , int z , int w , int d){
int n = a.size();
map<tuple<int,int,int,int>,int>freq;
int ans = 0;
freq[{0,0,0,0}] = 1;
int cx = 0 , cy = 0 , cz=0 , cw = 0, cd = 0;
for(int i=0;i<n;i++){
if(a[i]==x)cx++;
if(a[i]==y)cy++;
if(a[i]==z)cz++;
if(a[i]==w)cw++;
if(a[i]==d)cd++;
int diff1 = cx-cy;
int diff2 = cy-cz;
int diff3 = cz-cw;
int diff4 = cw-cd;
ans += freq[{diff1,diff2,diff3,diff4}];
freq[{diff1,diff2,diff3,diff4}]++;
}
return ans;
}
int main() {
int n;
cin>>n;
int x,y,z,w,d;
cin>>x>>y>>z>>w>>d;
vector<int>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<countOfSubarray(a,x,y,z,w,d);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY291bnRPZlN1YmFycmF5KHZlY3RvcjxpbnQ+JiBhICwgaW50IHggLCBpbnQgeSAsIGludCB6ICwgaW50IHcgLCBpbnQgZCl7CglpbnQgbiA9IGEuc2l6ZSgpOwoJbWFwPHR1cGxlPGludCxpbnQsaW50LGludD4saW50PmZyZXE7CglpbnQgYW5zID0gMDsKCWZyZXFbezAsMCwwLDB9XSA9IDE7CglpbnQgY3ggPSAwICwgY3kgPSAwICwgY3o9MCAsIGN3ID0gMCwgY2QgPSAwOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJaWYoYVtpXT09eCljeCsrOwoJCWlmKGFbaV09PXkpY3krKzsKCQlpZihhW2ldPT16KWN6Kys7CgkJaWYoYVtpXT09dyljdysrOwoJCWlmKGFbaV09PWQpY2QrKzsKCQkKCQlpbnQgZGlmZjEgPSBjeC1jeTsKCQlpbnQgZGlmZjIgPSBjeS1jejsKCQlpbnQgZGlmZjMgPSBjei1jdzsKCQlpbnQgZGlmZjQgPSBjdy1jZDsKCQlhbnMgKz0gZnJlcVt7ZGlmZjEsZGlmZjIsZGlmZjMsZGlmZjR9XTsKCQlmcmVxW3tkaWZmMSxkaWZmMixkaWZmMyxkaWZmNH1dKys7Cgl9CglyZXR1cm4gYW5zOwp9CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luPj5uOwoJaW50IHgseSx6LHcsZDsKCWNpbj4+eD4+eT4+ej4+dz4+ZDsKCXZlY3RvcjxpbnQ+YShuKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+YVtpXTsKCX0KCWNvdXQ8PGNvdW50T2ZTdWJhcnJheShhLHgseSx6LHcsZCk7CglyZXR1cm4gMDsKfQo=