#include <bits/stdc++.h>
using namespace std;
int d11 = 0, d12 = 0, res = 0;
void rec(int q, int d21, int d22) {
  if (q == 0) {
    if (d11 == d21 && d12 == d22) res++;
  } else {
    rec(q - 1, d21 + 1, d22);
    rec(q - 1, d21, d22 + 1);
  }
  return;
}
int main() {
  int n, i, d21 = 0, d22 = 0, q = 0;
  double r;
  string s1, s2;
  cin >> s1 >> s2;
  for (i = 0; i < s1.size(); i++) {
    if (s1[i] == '+')
      d11++;
    else if (s1[i] == '-')
      d12++;
    if (s2[i] == '+')
      d21++;
    else if (s2[i] == '-')
      d22++;
    else
      q++;
  }
  if (d21 > d11 || d22 > d12)
    res = 0;
  else {
    rec(q, d21, d22);
  }
  r = 1.0 * res / (1 << q);
  cout << setprecision(12) << r << endl;
}
