#include "bits/stdc++.h" using namespace std; using ll = long long; void Main() { ll N; cin >> N; vector A(N, 0); for (ll i = 0; i < N; ++i) { cin >> A[i]; } vector cnt1(N + 1, 0), cnt2(N + 1, 0); cnt1[0] = 0; cnt2[0] = 0; for (ll i = 1; i < N + 1; ++i) { cnt1[i] = cnt1[i - 1] + (A[i - 1] == 1 ? 1 : 0); cnt2[i] = cnt2[i - 1] + (A[i - 1] == 2 ? 1 : 0); } vector num1From(N, 0), num2From(N, 0); for (ll i = 0; i < N; ++i) { num1From[i] = cnt1.back() - cnt1[i]; num2From[i] = cnt2.back() - cnt2[i]; } ll ans = 0LL; for (ll i = 0; i < N - 1; ++i) { if (A[i] == 1) { ll n = num2From[i + 1]; ans += n * 3; ans += (N - i - 1 - n) * 2; } else if (A[i] == 2) { ll n = num1From[i + 1]; ans += n * 3; ans += (N - i - 1 - n) * 1; } else { ll n = num1From[i + 1]; ans += n * 2; ans += (N - i - 1 - n) * 1; } } cout << ans << endl; } int main() { std::cout << std::fixed << std::setprecision(15); Main(); return 0; }