#include <bits/stdc++.h>
using namespace std;
static const int INF = 500000000;
template <class T>
void debug(T a, T b) {
  for (; a != b; ++a) cerr << *a << ' ';
  cerr << endl;
}
int n;
char s[100005];
unsigned int dp[2][100005];
int main() {
  scanf("%d%s", &n, s);
  int cur = 0, nxt = 1;
  dp[cur][0] = 1;
  for (int i = 0; i < n; ++i) {
    int lim = min(n, min(i + 2, n - i + 2));
    if (s[i] != '?') {
      dp[nxt][0] = 0;
      for (int j = 1; j < lim; ++j) dp[nxt][j] = dp[cur][j - 1];
    } else {
      dp[nxt][0] = dp[cur][1];
      for (int j = 1; j < lim; ++j)
        dp[nxt][j] = dp[cur][j - 1] * 25 + dp[cur][j + 1];
    }
    swap(cur, nxt);
  }
  unsigned int res = dp[cur][0];
  cout << res << endl;
  return 0;
}
