#include<stdio.h>
int tree[1212121], tn;
void insert_g(int w, int g) {
for (int i = tn + w; i > 0; i /= 2) {
tree[i] += g;
}
}
int search_g(int ss,int ee) {
int s = ss + tn;
int e = ee + tn;
int res = 0;
while (s <= e) {
if (s % 2 == 1)res += tree[s++];
if (e % 2 == 0)res += tree[e--];
s /= 2; e /= 2;
}
return res;
}
int W[51515];
int main() {
int n, ans = 0 , i;
scanf("%d", &n);
for (tn = 1; tn <= n * 2; tn *= 2);
for (i = 1; i <= 2 * n; i++) {
int x;
scanf("%d", &x);
if (W[x] == 0) {
W[x] = i;
insert_g(i, 1);
}
else {
ans += search_g(W[x] + 1, i - 1);
insert_g(W[x], -1);
}
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IHRyZWVbMTIxMjEyMV0sIHRuOwp2b2lkIGluc2VydF9nKGludCB3LCBpbnQgZykgewoJZm9yIChpbnQgaSA9IHRuICsgdzsgaSA+IDA7IGkgLz0gMikgewoJCXRyZWVbaV0gKz0gZzsKCX0KfQppbnQgc2VhcmNoX2coaW50IHNzLGludCBlZSkgewoJaW50IHMgPSBzcyArIHRuOwoJaW50IGUgPSBlZSArIHRuOwoJaW50IHJlcyA9IDA7Cgl3aGlsZSAocyA8PSBlKSB7CgkJaWYgKHMgJSAyID09IDEpcmVzICs9IHRyZWVbcysrXTsKCQlpZiAoZSAlIDIgPT0gMClyZXMgKz0gdHJlZVtlLS1dOwoJCXMgLz0gMjsgZSAvPSAyOwoJfQoJcmV0dXJuIHJlczsKfQppbnQgV1s1MTUxNV07CmludCBtYWluKCkgewoJaW50IG4sIGFucyA9IDAgLCBpOwoJc2NhbmYoIiVkIiwgJm4pOwoJZm9yICh0biA9IDE7IHRuIDw9IG4gKiAyOyB0biAqPSAyKTsKCWZvciAoaSA9IDE7IGkgPD0gMiAqIG47IGkrKykgewoJCWludCB4OwoJCXNjYW5mKCIlZCIsICZ4KTsKCQlpZiAoV1t4XSA9PSAwKSB7CgkJCVdbeF0gPSBpOwoJCQlpbnNlcnRfZyhpLCAxKTsKCQl9CgkJZWxzZSB7CgkJCWFucyArPSBzZWFyY2hfZyhXW3hdICsgMSwgaSAtIDEpOwoJCQlpbnNlcnRfZyhXW3hdLCAtMSk7CgkJfQoJfQoJcHJpbnRmKCIlZCIsIGFucyk7CglyZXR1cm4gMDsKfQ==