#include <bits/stdc++.h>
using namespace std;
struct fenwick {
  vector<int> F;
  int N;
  void init(int n) {
    N = n;
    F.clear();
    F.resize(N + 1);
  }
  void add(int k, int v) {
    while (k <= N) {
      F[k] += v;
      k += k & -k;
    }
  }
  int sum(int k) {
    int s = 0;
    while (k >= 1) {
      s += F[k];
      k -= k & -k;
    }
    return s;
  }
} f;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, a[100001];
  long long ans = 0;
  cin >> n;
  f.init(n);
  set<int> s[100001];
  for (int i = 1; i <= n; ++i) {
    cin >> a[i];
    f.add(i, 1);
    s[a[i]].insert(i);
  }
  sort(a + 1, a + n + 1);
  int c = 0;
  for (int i = 1; i <= n; ++i) {
    auto nxti = s[a[i]].upper_bound(c);
    if (nxti == s[a[i]].end()) nxti = s[a[i]].begin();
    int nxt = *nxti;
    s[a[i]].erase(nxti);
    if (c < nxt) {
      ans += f.sum(nxt) - f.sum(c);
    } else {
      ans += f.sum(n) - f.sum(c);
      ans += f.sum(nxt);
    }
    c = nxt;
    f.add(c, -1);
  }
  cout << ans << endl;
  return 0;
}
