#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> nums(n);
  for (int i = 0; i < n; i++) {
    cin >> nums[i];
  }
  set<pair<int, int>> mp;
  vector<int> count(100001);
  int ans = 1;
  for (int i = 0; i < n; i++) {
    auto p = make_pair(count[nums[i]], nums[i]);
    auto pit = mp.find(p);
    if (pit != mp.end()) {
      mp.erase(pit);
    }
    count[nums[i]]++;
    mp.insert(make_pair(count[nums[i]], nums[i]));
    if (mp.size() > 1) {
      auto last = *prev(mp.end());
      auto slast = *prev(prev(mp.end()));
      auto fst = *mp.begin();
      auto snd = *next(mp.begin());
      if (last.first == slast.first + 1 && fst.first == slast.first) {
        ans = i + 1;
      } else if (fst.first == 1 && last.first == 1) {
        ans = i + 1;
      } else if (fst.first == 1 && snd.first == last.first) {
        ans = i + 1;
      }
    } else {
      ans = i + 1;
    }
  }
  cout << ans << endl;
}
