#include <bits/stdc++.h>
using namespace std;
const int MX = 200005;
int n, ft[MX], to[MX];
long long res;
string s;
vector<int> pos[255];
void update(int i, int k) {
  i++;
  while (i < MX) {
    ft[i] += k;
    i += i & -i;
  }
}
int query(int i) {
  i++;
  int s = 0;
  while (i) {
    s += ft[i];
    i -= i & -i;
  }
  return s;
}
void solve() {
  cin >> n >> s;
  for (int i = 0; i < (n); i++) pos[s[i]].push_back(i);
  for (int i = 'a'; i <= 'z'; i++) {
    vector<int> ot;
    for (int x : pos[i]) ot.push_back(n - x - 1);
    reverse(ot.begin(), ot.end());
    for (int j = 0; j < (ot.size()); j++) to[ot[j]] = pos[i][j];
  }
  for (int i = 0; i < (n); i++) update(i, 1);
  update(0, -1);
  for (int i = 0; i < (n); i++) {
    res += query(to[i]) - i;
    update(0, 1);
    update(to[i], -1);
  }
  cout << res << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  while (t--) solve();
  return 0;
}
