//我们可以假设最后需要换的值对应的下标为a1,a2,b1,b2;
//然后分讨这四个下标的相对位置即可
//最后发现是交换最后一个第一次出现,和第一个第二次出现的值的位置
#include<iostream>
#include <cmath>
#include <algorithm>
#include <map>
#include<vector>
#include <string>
#include<functional>
#include <set>
#include<bitset>
#include<climits>
#include<queue>
using namespace std;
#define int long long
#define itn long long
#define for1 for(int i=1;i<=n;i++)
#define for0 for(int i=0;i<n;i++)
#define dl delete []
int fx[] = { -1,0,1,0 };
int fy[] = { 0,1,0,-1 };
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
int* p = new int[2 * n + 1];
int * first = new int[n + 1];
int* second = new int[n + 1];
fill(first, first + n + 1, 0);
fill(second, second + n + 1, 0);
int a = 0;
int b = 0;
bool bo0 = 0;
bool bo1 = 0;
//b第一个第二次出现和a最后一个第一次出现;
for (int i = 1; i <= 2 * n; i++)
{
cin >> p[i];
if (first[p[i]] == 0)
{
a = p[i];
first[p[i]] = i;
}
else
{
if (bo0 == 0)
{
b = p[i];
bo0 = 1;
}
second[p[i]] = i;
}
}
int index = first[a];
int index2 = second[b];
p[index2] = a;
p[index] = b;
first[a] = index2;
second[b] = index;
int ans = 0;
for (int i = 1; i <= n; i++)
{
ans += second[i] - first[i] - 1;
}
cout << ans << endl;
}