func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, i, j, m, ans, p = 51123987, i1, i2, i3, la[3], nt[151][3],                        f[151][53][53][53];   char s[201];   int main() {     scanf( %d , &n);     scanf( %s , s + 1);     for (i = n; i; i--) {       la[s[i] -  a ] = i;       for (j = 0; j < 3; j++) nt[i][j] = la[j];     }     f[1][0][0][0] = 1;     m = (n + 2) / 3;     for (i = 1; i <= n; i++)       for (i1 = 0; i1 <= m; i1++)         for (i2 = 0; i2 <= m; i2++)           for (i3 = 0; i3 <= m; i3++) {             if (i1 + i2 + i3 == n && abs(i1 - i2) <= 1 && abs(i1 - i3) <= 1 &&                 abs(i2 - i3) <= 1)               ans = (ans + f[i][i1][i2][i3]) % p;             if (nt[i][0]) (f[nt[i][0]][i1 + 1][i2][i3] += f[i][i1][i2][i3]) %= p;             if (nt[i][1]) (f[nt[i][1]][i1][i2 + 1][i3] += f[i][i1][i2][i3]) %= p;             if (nt[i][2]) (f[nt[i][2]][i1][i2][i3 + 1] += f[i][i1][i2][i3]) %= p;           }     printf( %d , ans);   }   