// 2021 nt masodik.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
void oszthato_e_31el() {
long long bemeneti_szam; cin >> bemeneti_szam;
vector<long long>lepesek;
if (bemeneti_szam % 31 == 0) {
cout << "IGEN" << '\n';
}
else {
cout << "NEM" << '\n';
}
while (bemeneti_szam > 30){
string szam = to_string(bemeneti_szam);
// cerr << bemeneti_szam - (szam[szam.size() - 1] - '0') << '\n';
bemeneti_szam = (bemeneti_szam - (szam[szam.size() - 1] - '0')) / 10 - 3 * (szam[szam.size() - 1] - '0');
//cerr << bemeneti_szam << '\n';
if (bemeneti_szam >= 0) {
lepesek.push_back(bemeneti_szam);
}
}
for (size_t i = 0; i < lepesek.size(); i++)
{
cout << lepesek[i] << " ";
}
}
void hatekony_tori() {
unordered_map<int, bool>szamok;
int mennyiseg; cin >> mennyiseg;
vector<int>listS(mennyiseg);
int kulonbozoek = 1;
for (int i = 0; i < mennyiseg; i++) {
cin >> listS[i];
}
int utolso_uj_szam = mennyiseg - 1;
szamok[listS[utolso_uj_szam]] = true;
for(int i = mennyiseg - 1; i >= 0; i--){
if (!szamok[listS[i]]) {
utolso_uj_szam = i;
szamok[listS[i]] = true;
kulonbozoek++;
}
}
cout << utolso_uj_szam + 1;
}
int main()
{
hatekony_tori();
}