#include <bits/stdc++.h>
using namespace std;
bool __hack = std::ios::sync_with_stdio(false);
auto __hack1 = cin.tie(nullptr);
template <class T>
T next(istream& in) {
  T ret;
  in >> ret;
  return ret;
}
unsigned int dp[50004];
void solve(istream& in, ostream& out) {
  int n = next<int>(in);
  string s = next<string>(in);
  int q = 0;
  for (int i = 0; i < (n); ++i)
    if (s[i] == '?') ++q;
  if (n % 2 || q < n / 2) {
    out << "0\n";
    return;
  }
  dp[0] = 1;
  for (int i = 0; i < (n); ++i) {
    int from = max(0, i - n / 2);
    int to = i / 2;
    dp[to + 1] = 0;
    if (s[i] == '?') {
      for (int j = to; j >= from; --j) {
        dp[j + 1] += dp[j];
      }
    }
  }
  unsigned int res = dp[n / 2];
  for (int i = 0; i < (q - n / 2); ++i) res *= 25;
  out << res << endl;
}
int main() {
  solve(cin, cout);
  return 0;
}
