#include <bits/stdc++.h>
using namespace std;
int N, cnt;
char s[201], c[201];
int f[155][55][55][55];
int last[3], Nxt[155][3];
int main() {
  scanf("%d ", &N);
  gets(s + 1);
  for (int i = 1; i <= N; ++i)
    if (s[i] != s[i - 1]) c[++cnt] = s[i];
  last[0] = last[1] = last[2] = -1;
  for (int i = cnt; i >= 1; --i) {
    last[c[i] - 'a'] = i;
    Nxt[i][0] = last[0];
    Nxt[i][1] = last[1];
    Nxt[i][2] = last[2];
  }
  if (last[0] != -1) f[last[0]][1][0][0] = 1;
  if (last[1] != -1) f[last[1]][0][1][0] = 1;
  if (last[2] != -1) f[last[2]][0][0][1] = 1;
  bool flag = (N % 3 != 0);
  for (int i = 1; i < N; ++i) {
    for (int st = 1; st <= cnt; ++st)
      for (int p = 0; p <= min(N / 3 + flag, i); ++p)
        for (int q = 0; q <= min(N / 3 + flag, i - p); ++q)
          if (f[st][p][q][i - p - q]) {
            int r = i - p - q;
            for (int k = 0; k < 3; ++k) {
              int nxt = Nxt[st][k];
              if (nxt == -1) continue;
              if (k == 0) {
                f[nxt][p + 1][q][r] += f[st][p][q][r];
                while (f[nxt][p + 1][q][r] >= 51123987)
                  f[nxt][p + 1][q][r] -= 51123987;
                ;
              } else if (k == 1) {
                f[nxt][p][q + 1][r] += f[st][p][q][r];
                while (f[nxt][p][q + 1][r] >= 51123987)
                  f[nxt][p][q + 1][r] -= 51123987;
                ;
              } else {
                f[nxt][p][q][r + 1] += f[st][p][q][r];
                while (f[nxt][p][q][r + 1] >= 51123987)
                  f[nxt][p][q][r + 1] -= 51123987;
                ;
              }
            }
          }
  }
  long long Ans = 0;
  if (N % 3 == 0) {
    for (int i = cnt; i >= 1; --i) {
      Ans += f[i][N / 3][N / 3][N / 3];
      while (Ans >= 51123987) Ans -= 51123987;
      ;
    }
  } else if (N % 3 == 1) {
    for (int i = cnt; i >= 1; --i) {
      Ans += f[i][N / 3 + 1][N / 3][N / 3] + f[i][N / 3][N / 3 + 1][N / 3] +
             f[i][N / 3][N / 3][N / 3 + 1];
      while (Ans >= 51123987) Ans -= 51123987;
      ;
    }
  } else {
    for (int i = cnt; i >= 1; --i) {
      Ans += f[i][N / 3 + 1][N / 3 + 1][N / 3] +
             f[i][N / 3 + 1][N / 3][N / 3 + 1] +
             f[i][N / 3][N / 3 + 1][N / 3 + 1];
      while (Ans >= 51123987) Ans -= 51123987;
      ;
    }
  }
  cout << Ans;
  return 0;
}
