#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int Maxn = 200005; int n; int a[Maxn]; int was[Maxn]; int col[Maxn]; int BIT[Maxn]; vector seq[Maxn]; ll res; void Insert(int x) { x++; for (int i = x; i <= 4 * n; i += i & -i) BIT[i]++; } int Get(int x) { x++; int res = 0; for (int i = x; i > 0; i -= i & -i) res += BIT[i]; return res; } int main() { scanf("%d", &n); for (int i = 0; i < 2 * n; i++) { scanf("%d", &a[i]); a[i + 2 * n] = a[i]; } fill(was, was + Maxn, 4 * n); for (int i = 4 * n - 1; i >= 0; i--) { seq[a[i]].push_back(i); if (seq[a[i]].size() == 2 || seq[a[i]].size() == 3) { int prv = seq[a[i]][seq[a[i]].size() - 2]; col[a[i]] += Get(prv); } Insert(was[a[i]]); was[a[i]] = i; } for (int i = 1; i <= n; i++) res += n - 1 - col[i]; res /= 2; cout << res << endl; return 0; }