#include<bits/stdc++.h>
#pragma optimize(3)
using namespace std;
long long int y,z,a,b,c,i=0,j=1,k=0,n,m,sum=1,num=0,r,t=0;
bool flag;
char ch;
long double oo,pp,ss=0,x[5],s=0;
string aa;
int f(int num)
{
if(num==1)
return 2;
if(num==0)
return 1;
int t=f(num/2);
if(num%2==0)
return t*t;
else
return t*t*2;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>aa;
if(aa[aa.size()-2]=='G')
{
for(i=0;;i++)
{
if(aa[i]<='9'&&aa[i]>='0')
{
t=int(aa[i]);
switch(t)
{
case 48:x[i]=0;break;
case 49:x[i]=1;break;
case 50:x[i]=2;break;
case 51:x[i]=3;break;
case 52:x[i]=4;break;
case 53:x[i]=5;break;
case 54:x[i]=6;break;
case 55:x[i]=7;break;
case 56:x[i]=8;break;
case 57:x[i]=9;break;
}
}
else
{
break;
}
}
switch(i)
{
case 1:s=x[0];break;
case 2:s=x[0]*10+x[1];break;
case 3:s=x[0]*100+x[1]*10+x[2];break;
case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;
}
if(aa[i]=='G')
{
cout<<s;
}
if(aa[i]=='M')
{
s/=1024;
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
if(aa[i]=='K')
{
s=s/f(20);
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
if(aa[i]=='B')
{
s=s/f(30);
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
}
if(aa[aa.size()-2]=='M')
{
for(i=0;;i++)
{
if(aa[i]<='9'&&aa[i]>='0')
{
t=int(aa[i]);
switch(t)
{
case 48:x[i]=0;break;
case 49:x[i]=1;break;
case 50:x[i]=2;break;
case 51:x[i]=3;break;
case 52:x[i]=4;break;
case 53:x[i]=5;break;
case 54:x[i]=6;break;
case 55:x[i]=7;break;
case 56:x[i]=8;break;
case 57:x[i]=9;break;
}
}
else
{
break;
}
}
switch(i)
{
case 1:s=x[0];break;
case 2:s=x[0]*10+x[1];break;
case 3:s=x[0]*100+x[1]*10+x[2];break;
case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;
}
if(aa[i]=='G')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;
}
if(aa[i]=='M')
{
cout<<s;
}
if(aa[i]=='K')
{
s=s/f(10);
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
if(aa[i]=='B')
{
s=s/f(20);
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
}
if(aa[aa.size()-2]=='K')
{
for(i=0;;i++)
{
if(aa[i]<='9'&&aa[i]>='0')
{
t=int(aa[i]);
switch(t)
{
case 48:x[i]=0;break;
case 49:x[i]=1;break;
case 50:x[i]=2;break;
case 51:x[i]=3;break;
case 52:x[i]=4;break;
case 53:x[i]=5;break;
case 54:x[i]=6;break;
case 55:x[i]=7;break;
case 56:x[i]=8;break;
case 57:x[i]=9;break;
}
}
else
{
break;
}
}
switch(i)
{
case 1:s=x[0];break;
case 2:s=x[0]*10+x[1];break;
case 3:s=x[0]*100+x[1]*10+x[2];break;
case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;
}
if(aa[i]=='G')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(20);
}
if(aa[i]=='M')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;
}
if(aa[i]=='K')
{
cout<<s;
}
if(aa[i]=='B')
{
s=s/f(10);
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s;
}
}
if(aa[aa.size()-2]=='?')
{
for(i=0;;i++)
{
if(aa[i]<='9'&&aa[i]>='0')
{
t=int(aa[i]);
switch(t)
{
case 48:x[i]=0;break;
case 49:x[i]=1;break;
case 50:x[i]=2;break;
case 51:x[i]=3;break;
case 52:x[i]=4;break;
case 53:x[i]=5;break;
case 54:x[i]=6;break;
case 55:x[i]=7;break;
case 56:x[i]=8;break;
case 57:x[i]=9;break;
}
}
else
{
break;
}
}
switch(i)
{
case 1:s=x[0];break;
case 2:s=x[0]*10+x[1];break;
case 3:s=x[0]*100+x[1]*10+x[2];break;
case 4:s=x[0]*1000+x[1]*100+x[2]*10+x[3];break;
}
if(aa[i]=='G')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(30);
}
if(aa[i]=='M')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*f(20);
}
if(aa[i]=='K')
{
cout<<setiosflags(ios::fixed)<<setprecision(6)<<s*1024;
}
if(aa[i]=='B')
{
cout<<s;
}
}
return 0;
90分,第5个点WA,求调,悬棺!!