#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int a[200],na,xiaoshu;
void multiply(int b){
int i;
for(i=0;i<na;i++){
a[i] *= b;
}
for(i=0;i<na;i++){
if(a[i]>=10){
a[i+1] += a[i]/10;
a[i] %= 10;
}
}
while(a[i]>0){
if(a[i]>=10){
a[i+1] += a[i]/10;
a[i] %= 10;
}
i++;
}
na = i;
}
void R(int n,int b){
int i;
for(i=1;i<n;i++){
multiply(b);
}
}
void display(int n){
bool flag = true;
int i,j,xiaoshu_r = xiaoshu*n,tmp = na-xiaoshu_r;
for(i=0;i<xiaoshu_r;i++)
if(a[i]!=0)flag = false;
i = 0;
j = 0;
while(i<na&&a[i]==0){
j++;
i++;
}
if(a[na-1]!=0)
for(i=0;i<tmp;i++)
printf("%d",a[na-1-i]);
if(flag){
printf("\n");
return;
}
printf(".");
for(i=tmp;i<na-j;i++)
printf("%d",a[na-1-i]);
printf("\n");
}
int main(){
char r[7];
int n;
while(scanf("%s%d",r,&n)==2){
memset(a,0,sizeof(a));
int i,j = 0,len = strlen(r);
for(i=len-1;i>=0;i--){
if(r[i]=='.'){
xiaoshu = 5-i;
}
else{
a[j++] = r[i]-'0';
}
}
na = j;
int b = 0;
for(i=j-1;i>=0;i--){
b *= 10;
b += a[i];
}
R(n,b);
display(n);
}
return 0;
}