#include<iostream>
#include<cstring>
using namespace std;
string R;
int len,x,xsw,a[1001000],n;
void gmul() {
for(int i=1; i<=a[0]; i++) a[i]*=x;
for(int i=1; i<=a[0]; i++) {
a[i+1]+=a[i]/10;
a[i]%=10;
}
while(a[a[0]+1]) {
a[0]++;
a[a[0]+1]+=a[a[0]]/10;
a[a[0]]%=10;
}
}
int main() {
while(cin>>R>>n) {
xsw=0;
x=0;
memset(a,0,sizeof(a));
a[0]=1;
a[1]=1;
len=R.length();
for(int i=0; i<len; i++) {
if(R[i]=='.') {
xsw=len-i-1;
continue;
}
x=x*10+R[i]-'0';
}
while(x%10==0&&xsw>0) {
x/=10;
xsw--;
}
if(x==0) {
cout<<0<<endl;
continue;
}
for(int i=1; i<=n; i++) gmul();
xsw*=n;
if(a[0]==1&&a[1]==0) {
cout<<0<<endl;
continue;
}
int begin=max(a[0],xsw);
int end;
for(int i=1; i<=xsw; i++)
if(a[i]) {
end=i;
break;
}
for(int i=begin; i>xsw; i--) cout<<a[i];
if(xsw>=end) cout<<'.';
for(int i=xsw; i>=end; i--) cout<<a[i];
cout<<endl;
}
return 0;
}