import
java.io.*;
import
java.util.*;
class
GFG {
public
static
int
minimumReplacements(
int
A[],
int
N)
{
TreeMap<Integer, Integer> mp =
new
TreeMap<Integer, Integer>();
for
(
int
i =
0
; i < N; i++) {
if
(mp.get(A[i])!=
null
)
mp.put(A[i],mp.get(A[i])+
1
);
else
mp.put(A[i],
1
);
}
for
(
int
i = N -
1
; i >=
0
; i--) {
while
(i >
0
&& A[i] == A[i -
1
]) {
mp.put(A[i],mp.get(A[i])-
1
);
i--;
}
mp.put(A[i],mp.get(A[i])-
1
);
if
(mp.get(A[i]) ==
0
) {
mp.remove(A[i]);
}
if
(mp.get(A[i]) !=
null
) {
return
mp.size();
}
if
(i >
0
&& A[i -
1
] > A[i]) {
return
mp.size();
}
}
return
0
;
}
public
static
void
main (String[] args) {
int
N =
5
;
int
A[] = {
2
,
2
,
1
,
1
,
3
};
int
answer = minimumReplacements(A, N);
System.out.println(answer);
}
}