https://codeforces.com/problemset/problem/476/B
#include<bits/stdc++.h>
using namespace std;
string a,b;
int cnt1,cnt2,cnt11,cnt22,n;
int sum,ans;
void dfs(int a,int b,int index)
{
if(index==n)
{
if(a==cnt1&&b==cnt2) ans++;
sum++;
return;
}
dfs(a+1,b,index+1);
dfs(a,b+1,index+1);
}
int main(void)
{
cin>>a>>b;
for(int i=0;i<a.size();i++)
if(a[i]=='+') cnt1++;//加的个数
else cnt2++;//减的个数
for(int i=0;i<b.size();i++)
if(b[i]=='+') cnt11++;
else if(b[i]=='-') cnt22++;
else n++;
dfs(cnt11,cnt22,0);
printf("%.12lf",ans*1.0/sum);
return 0;
}