rt,wa*1
#include<bits/stdc++.h>
using namespace std;
string In()
{
char c;string s="";
while(cin>>c)s+=c;
return s;
}
pair<string,string>parse(string x)
{
int pos=x.find("=");
string a=x.substr(0,pos);
string b=x.substr(pos+1,x.length()-pos-1);
return pair<string,string>(a,b);
}
vector<string>split(string k)
{
if(k[0]^'-')k='+'+k;
vector<string>tmp;
string at="";at+=k[0];
for(int i=1;i<k.length();++i)
if(isalnum(k[i]))at+=k[i];
else
{
tmp.push_back(at);
at="";at+=k[i];
}
if(at.size())tmp.push_back(at);
return tmp;
}
int tr(string x)
{
int xx=0,y=1,i;
for(i=0;!isdigit(x[i]);++i)
if(x[i]=='-')y=-1;
for(;i<x.length();++i)
xx=xx*10+(x[i]-'0');
return xx*y;
}
int unknown(vector<string>x)
{
vector<string>t;
for(int i=0;i<x.size();++i)
{
bool known=true;
for(int j=0;j<x[i].length();++j)
if(isalpha(x[i][j]))
{known=false;break;}
if(!known)
{
x[i].erase(x[i].end()-1);
t.push_back(x[i]);
}
}
int ret=0;
for(int i=0;i<t.size();++i)
ret+=tr(t[i]);
return ret;
}
int uknown(vector<string>x)
{
vector<string>t;
for(int i=0;i<x.size();++i)
{
bool known=true;
for(int j=0;j<x[i].length();++j)
if(isalpha(x[i][j]))
{known=false;break;}
if(known)
{
//x[i].erase(x[i].end()-1);
t.push_back(x[i]);
}
}
int ret=0;
for(int i=0;i<t.size();++i)
ret+=tr(t[i]);
return ret;
}
int main()
{
string expr=In();char let;
pair<string,string>k=parse(expr);
string left=k.first,right=k.second;
vector<string>lexpr=split(left);
vector<string>rexpr=split(right);
for(int i=0;i<lexpr.size();++i)
for(int j=0;j<lexpr[i].length();++j)
if(isalpha(lexpr[i][j]))
{let=lexpr[i][j];break;}
for(int i=0;i<rexpr.size();++i)
for(int j=0;j<rexpr[i].length();++j)
if(isalpha(rexpr[i][j]))
{let=rexpr[i][j];break;}
double luk=unknown(lexpr);
double ruk=unknown(rexpr);
double lnum=uknown(lexpr);
double rnum=uknown(rexpr);
//cout<<luk<<endl<<ruk;
luk-=ruk;rnum-=lnum;
cout<<let<<"="<<fixed<<setprecision(3)<<rnum/luk;
}