import sys,math,itertools from collections import Counter,deque,defaultdict from bisect import bisect_left,bisect_right from heapq import heappop,heappush,heapify mod = 10**9+7 INF = float('inf') def inp(): return int(sys.stdin.readline()) def inpl(): return list(map(int, sys.stdin.readline().split())) def inpl_1(): return list(map(lambda x:int(x)-1, sys.stdin.readline().split())) def inps(): return sys.stdin.readline() def inpsl(x): tmp = inps(); return list(tmp[:x]) def err(x): print(x); exit() n = inp() a = inpl() cnt = [0,0,0] for x in a: if x >= 3: x = 3 cnt[x-1] += 1 res = 0 res += 3*cnt[1]*cnt[0] res += 2*cnt[0]*cnt[2] res += 1*cnt[1]*cnt[2] res += cnt[0]*(cnt[0]-1) res += (cnt[1]*(cnt[1]-1) + cnt[2]*(cnt[2]-1))//2 print(res)