#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//谢谢博友文章
string add(string a,string b)
{
string c;
c.reserve(300);
int jw=0;
for(int i=a.size()-1,j=b.size()-1;(i>=0)||(j>=0);i--,j--)
{
if((i>=0)&&(j>=0))
{
c=c+(char)((a[i]-'0'+b[j]-'0'+jw)%10+'0');
jw=(a[i]-'0'+b[j]-'0'+jw)/10;
}else if(i<0)
{
c=c+(char)((b[j]-'0'+jw)%10+'0');
jw=(b[j]-'0'+jw)/10;
}else if(j<0)
{
c=c+(char)((a[i]-'0'+jw)%10+'0');
jw=(a[i]-'0'+jw)/10;
}
}
if(jw!=0)
{
c=c+(char)(jw+'0');
}
reverse(c.begin(),c.end());
return c;
}
string mul(string a,string b)
{
string jg;
jg.reserve(300);
for(int i=a.size()-1;i>=0;i--)
{
string t;
t.reserve(300);
int jw=0;
for(int j=b.size()-1;j>=0;j--)
{
t=t+(char)(((a[i]-'0')*(b[j]-'0')+jw)%10+'0');
jw=((a[i]-'0')*(b[j]-'0')+jw)/10;
}
if(jw!=0)
{
t=t+(char)(jw+'0');
}
reverse(t.begin(),t.end());
for(int j=i;j<a.size()-1;j++)
{
t=t+'0';
}
jg=add(jg,t);
}
return jg;
}
int main()
{
while(1)
{
string jg;
jg.reserve(300);
jg=jg+'1';
string t;
cin>>t;
if(cin.eof()==1)
{
break;
}
string _t;
_t.reserve(300);
int flag=0;
for(int i=0;i<t.size();i++)
{
if((flag==0)&&(t[i]!='0'))
{
flag=1;
_t=_t+t[i];
}else if((flag==0)&&(t[i]=='0'))
{
}else if(flag==1)
{
_t=_t+t[i];
}
}
string t_;
t_.reserve(300);
flag=0;
for(int i=_t.size()-1;i>=0;i--)
{
if((flag==0)&&(_t[i]!='0'))
{
flag=1;
t_=t_+_t[i];
}else if((flag==0)&&(_t[i]=='0'))
{
}else if(flag==1)
{
t_=t_+_t[i];
}
}
reverse(t_.begin(),t_.end());
//cout<<t_<<endl;
string a;
a.reserve(300);
int ws=0;
flag=0;
for(int i=t_.size()-1;i>=0;i--)
{
if(t_[i]=='.')
{
flag=1;
}else
{
a=a+t_[i];
if(flag==0)
{
ws++;
}
}
}
reverse(a.begin(),a.end());
int NUM;
cin>>NUM;
for(int i=0;i<NUM;i++)
{
jg=mul(jg,a);
}
ws=ws*NUM;
if(ws>=jg.size())
{
cout<<'.';
for(int i=0;i<(ws-jg.size());i++)
{
cout<<'0';
}
cout<<jg<<endl;
}else
{
for(int i=0;i<jg.size();i++)
{
if(i==(jg.size()-ws))
{
cout<<'.'<<jg[i];
}else
{
cout<<jg[i];
}
}
cout<<endl;
}
/*
string sc;
sc.reserve(300);
for(int i=0;i<jg.size();i++)
{
if(i==(jg.size()-ws))
{
sc=sc+'.';
sc=sc+jg[i];
}else
{
sc=sc+jg[i];
}
}
cout<<sc<<endl;*/
}
return 0;
}
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
string mul(string x,string y)
{
int a[10001];
int b[10001];
int c[10001];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
reverse(x.begin(),x.end());
reverse(y.begin(),y.end());
for(int i=0;i<x.size();i++)
{
a[i]=x[i]-'0';
}
for(int i=0;i<y.size();i++)
{
b[i]=y[i]-'0';
}
//cout<<x<<endl;
//cout<<y<<endl;
for(int i=0;i<x.size();i++)
{
int jw=0;
for(int j=0;j<y.size();j++)
{
int tc=c[i+j];
c[i+j]=(tc+a[i]*b[j]+jw)%10;
jw=(tc+a[i]*b[j]+jw)/10;
}
c[i+y.size()]=c[i+y.size()]+jw;
}
/*
for(int i=1000;i>=0;i--)
{
cout<<c[i];
}
cout<<endl;*/
string jg="";
int flag=0;
for(int i=10000;i>=0;i--)
{
if(c[i]!=0)
{
flag=1;
}
if(flag==1)
{
jg=jg+(char)(c[i]+'0');
}
}
return jg;
}
int main()
{
string s;
int n;
while(cin>>s>>n)
{
int po=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='.')
{
s.erase(i,1);
po=s.size()-i;
}
}
po=po*n;
//cout<<s<<endl;
string jg=s;
for(int i=0;i<(n-1);i++)
{
jg=mul(jg,s);
}
/*
int i,j;
for(i=po,j=jg.size()-1;i>0;i--,j--)
{
if(j<0)
{
string t="0";
jg=t+jg;
}
}
if(j<=0)
{
string t=".";
jg=t+jg;
}else
{
jg.insert(jg.begin()+j,'.');
}*/
while(jg.size()<po)
{
string t="0";
jg=t+jg;
}
int i,j;
for(i=po,j=jg.size()-1;i>0;i--,j--)
{
}
jg.insert(jg.begin()+j+1,'.');
reverse(jg.begin(),jg.end());
//cout<<jg<<endl;
while(jg[0]=='0')
{
jg.erase(0,1);
}
reverse(jg.begin(),jg.end());
if(jg[jg.size()-1]=='.')
{
jg.erase(jg.size()-1,1);
}
if(jg=="")
{
jg="0";
}
cout<<jg<<endl;
}
return 0;
}