/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class key {
int a, b, c, d;
public key(int a, int b, int c, int d) {
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
@Override
public int hashCode() {
return Objects.hash(a, b, c, d);
}
@Override
public boolean equals
(Object obj
) { if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
key k = (key) obj;
return a == k.a && b == k.b && c == k.c && d == k.d;
}
}
class Ideone
{
{
Scanner sc
= new Scanner
(System.
in);
int n = sc.nextInt();
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt();
int e = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
HashMap<key, Integer> mp = new HashMap<>();
mp.put(new key(0, 0, 0, 0), 1);
int ax = 0, bx = 0, cx = 0, dx = 0, ex = 0;
long count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == a)
ax++;
else if (arr[i] == b)
bx++;
else if (arr[i] == c)
cx++;
else if (arr[i] == d)
dx++;
else if (arr[i] == e)
ex++;
int d1 = bx - ax;
int d2 = cx - bx;
int d3 = dx - cx;
int d4 = ex - dx;
key k = new key(d1, d2, d3, d4);
count += mp.getOrDefault(k, 0);
mp.put(k, mp.getOrDefault(k, 0) + 1);
}
sc.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7Ci8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBrZXkgewogICAgaW50IGEsIGIsIGMsIGQ7CgogICAgcHVibGljIGtleShpbnQgYSwgaW50IGIsIGludCBjLCBpbnQgZCkgewogICAgICAgIHRoaXMuYSA9IGE7CiAgICAgICAgdGhpcy5iID0gYjsKICAgICAgICB0aGlzLmMgPSBjOwogICAgICAgIHRoaXMuZCA9IGQ7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgaW50IGhhc2hDb2RlKCkgewogICAgICAgIHJldHVybiBPYmplY3RzLmhhc2goYSwgYiwgYywgZCk7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgYm9vbGVhbiBlcXVhbHMoT2JqZWN0IG9iaikgewogICAgICAgIGlmICh0aGlzID09IG9iaikgcmV0dXJuIHRydWU7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsIHx8IGdldENsYXNzKCkgIT0gb2JqLmdldENsYXNzKCkpIHJldHVybiBmYWxzZTsKICAgICAgICBrZXkgayA9IChrZXkpIG9iajsKICAgICAgICByZXR1cm4gYSA9PSBrLmEgJiYgYiA9PSBrLmIgJiYgYyA9PSBrLmMgJiYgZCA9PSBrLmQ7CiAgICB9Cn0KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoKICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgYSA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgYiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgYyA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgZCA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgZSA9IHNjLm5leHRJbnQoKTsKCiAgICAgICAgaW50W10gYXJyID0gbmV3IGludFtuXTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBhcnJbaV0gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgfQoKICAgICAgICBIYXNoTWFwPGtleSwgSW50ZWdlcj4gbXAgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgbXAucHV0KG5ldyBrZXkoMCwgMCwgMCwgMCksIDEpOwoKICAgICAgICBpbnQgYXggPSAwLCBieCA9IDAsIGN4ID0gMCwgZHggPSAwLCBleCA9IDA7CiAgICAgICAgbG9uZyBjb3VudCA9IDA7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChhcnJbaV0gPT0gYSkKICAgICAgICAgICAgICAgIGF4Kys7CiAgICAgICAgICAgIGVsc2UgaWYgKGFycltpXSA9PSBiKQogICAgICAgICAgICAgICAgYngrKzsKICAgICAgICAgICAgZWxzZSBpZiAoYXJyW2ldID09IGMpCiAgICAgICAgICAgICAgICBjeCsrOwogICAgICAgICAgICBlbHNlIGlmIChhcnJbaV0gPT0gZCkKICAgICAgICAgICAgICAgIGR4Kys7CiAgICAgICAgICAgIGVsc2UgaWYgKGFycltpXSA9PSBlKQogICAgICAgICAgICAgICAgZXgrKzsKCiAgICAgICAgICAgIGludCBkMSA9IGJ4IC0gYXg7CiAgICAgICAgICAgIGludCBkMiA9IGN4IC0gYng7CiAgICAgICAgICAgIGludCBkMyA9IGR4IC0gY3g7CiAgICAgICAgICAgIGludCBkNCA9IGV4IC0gZHg7CgogICAgICAgICAgICBrZXkgayA9IG5ldyBrZXkoZDEsIGQyLCBkMywgZDQpOwoKICAgICAgICAgICAgY291bnQgKz0gbXAuZ2V0T3JEZWZhdWx0KGssIDApOwogICAgICAgICAgICBtcC5wdXQoaywgbXAuZ2V0T3JEZWZhdWx0KGssIDApICsgMSk7CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oY291bnQpOwogICAgICAgIHNjLmNsb3NlKCk7Cgl9Cn0=