#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 500;
int n, cnt;
string str;
unsigned dp[N];
unsigned qpow(unsigned a, unsigned n) {
  unsigned ans = 1;
  while (n) {
    if (n & 1) ans *= a;
    a *= a;
    n >>= 1;
  }
  return ans;
}
int main() {
  scanf("%d", &n);
  cin >> str;
  str = " " + str;
  if (n & 1) {
    puts("0");
    return 0;
  }
  dp[0] = 1;
  for (int i = 1; i <= n; i++)
    if (str[i] == '?')
      for (int j = i / 2; j >= max(1, i - n / 2); j--) dp[j] += dp[j - 1];
    else
      ++cnt;
  cout << qpow(25, n / 2 - cnt) * dp[n >> 1];
  return 0;
}
