#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 9;
string s, r;
int n, tab[100];
long long wynik, suma, d[4 * N];
vector<int> v[1000];
void insert(int a, int pocz, int kon, int x, int ile) {
  if (pocz == kon) {
    d[x] += ile;
    return;
  }
  int mid = (pocz + kon) / 2;
  if (a <= mid)
    insert(a, pocz, mid, x * 2, ile);
  else
    insert(a, mid + 1, kon, x * 2 + 1, ile);
  d[x] = d[x * 2] + d[x * 2 + 1];
}
long long get(int a, int b, int pocz, int kon, int x) {
  if (a <= pocz && kon <= b) return d[x];
  int mid = (pocz + kon) / 2;
  long long res = 0;
  if (a <= mid) res += get(a, b, pocz, mid, x * 2);
  if (mid < b) res += get(a, b, mid + 1, kon, x * 2 + 1);
  return res;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> s;
  int rozm = 1;
  while (rozm < n) rozm *= 2;
  for (int i = 0; i < n; i++) v[(int)s[i]].push_back(i);
  r = s;
  reverse(r.begin(), r.end());
  for (int i = 0; i < n; i++) {
    auto poz = v[(int)r[i]].begin();
    suma = get(1, *poz + 1, 1, rozm, 1);
    wynik += *poz - suma;
    insert(*poz + 1, 1, rozm, 1, 1);
    v[(int)r[i]].erase(poz);
  }
  cout << wynik << "\n";
  return 0;
}
