Bitris

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

큐브 2N2N개가 한 줄로 쌓여 있다. 각 큐브에는 11 이상 NN 이하의 정수가 하나씩 적혀 있고, 같은 수가 적힌 큐브는 정확히 두 개다.

같은 수가 적힌 큐브 두 개가 서로 맞닿으면 두 큐브가 함께 사라지고, 그 위에 있던 큐브가 아래로 내려와 빈자리를 메운다. 맞닿은 같은 수 쌍이 남아 있는 한 소멸은 계속 일어난다.

이웃한 큐브 두 개는 자리를 바꿀 수 있다. 소멸이 더 일어날 수 없는 상태에서만 자리를 바꿀 수 있으므로, 교환하기 전에 가능한 소멸을 모두 끝내야 한다.

큐브를 모두 없애는 데 필요한 교환의 최소 횟수를 구하라.

N=4N=4이고 아래에서부터 2 1 4 3 3 1 4 2 순서로 쌓인 경우를 보자. 교환은 한 번이면 된다. 33이 적힌 큐브 두 개가 이미 맞닿아 있어 바로 사라지고, 더미는 2 1 4 1 4 2가 된다. 아래에서 네 번째 큐브(11)와 다섯 번째 큐브(44)를 바꾸면 44가 사라지고, 이어서 1122가 차례로 사라진다. 세 번째와 네 번째를 바꾸거나 두 번째와 세 번째를 바꿔도 된다.

N=3N=3이고 1 3 2 1 3 2로 쌓인 경우에는 교환이 세 번 필요하다. 다섯 번째와 여섯 번째를 바꾸고 네 번째와 다섯 번째를 바꾸면 22가 적힌 큐브가 사라져 더미는 1 3 1 3이 된다. 두 번째와 세 번째를 바꾸면 남은 큐브가 모두 사라진다.

입력

첫째 줄에 정수 NN이 주어진다. (2N1000002 \le N \le 100000)

둘째 줄에 큐브에 적힌 수 2N2N개가 더미의 아래에서 위 순서로 공백을 사이에 두고 주어진다. 11부터 NN까지의 각 정수는 정확히 두 번씩 나온다.

출력

큐브를 모두 없애는 데 필요한 교환의 최소 횟수 MM을 한 줄에 출력한다. MM은 음이 아닌 정수다.