#include <bits/stdc++.h>
using namespace std;
int read(){
int r=0,x=1;char c=getchar();
while(c<'0'||c>'9'){
if(c=='-')x=-1;
else x=1;
c=getchar();
}
while(c>='0'&&c<='9')r=(r<<3)+(r<<1)+(c^48),c=getchar();
return r*x;
}const int N=1500;
double a;
int n,pt;
struct bigNum{
int s[N],len;
bigNum(int num=0){
memset(s,0,sizeof(s));
len=1;
s[1]=num;
}
bigNum operator*(int b)const{
bigNum res;
res.len=len+10;
for(int i=1;i<=res.len;i++){
res.s[i]+=s[i]*b;
res.s[i+1]=res.s[i]/10;
res.s[i]%=10;
}res.clean();
return res;
}void clean(){
while(len>1&&!s[len])len--;
}
};
ostream& operator<<(ostream &out,const bigNum &x){
int i;
for(i=x.len;i>0&&i>pt;i--)
out<<x.s[i];
if(i){
out<<".";
for(i=pt;i>0;i--)
out<<x.s[i];
}
}
int main(){
while(cin>>a>>n){
pt=0;
while(fabs(a-round(a))>1e-6){
pt++;
a*=10;
}
pt*=n;
bigNum s=1;
for(int i=1;i<=n;i++)
s=s*(int)round(a);
cout<<s<<endl;
}
return 0;
}