#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 1000
int ans[MAXN], result[MAXN], Baselen;
int Mul(int base[], int len);
int main()
{
int i, j;
int n = 0, pos, c, len, count, base[6];
char R[6];
memset(result
, 0, sizeof(result
));
memset(base
, 0, sizeof(base
));
while (scanf("%s%d", R
, &n
)==2)
{
pos = 0;
c = 0;
len = 0;
count = 0;
memset(result
, 0, sizeof(result
));
for (i=Baselen-1; i>=0; i--)
{
if (R[i]) break;
}
Baselen = i;
for (i=0; i<Baselen+1; i++)
{
if (R[i] != '.') result[c++] = R[i]-'0';
else pos = Baselen-i;
}
memcpy(base
, result
, sizeof(base
));
len = Baselen;
for (i=1; i<n; i++)
{
if (n==1) break;
len = Mul(base, len);
}
pos = n*pos;
i = 0;
while (result[i]==0&&i<len-pos) i++;
count = i;
for (i=MAXN-1; i>=0; i--) if (result[i]) break;
j = i;
for (i=count; i<=j; i++)
{
}
}
return 0;
}
int Mul(int base[], int len)
{
int c = 0, k = 0;
int i, j;
for (i=Baselen-1; i>=0; i--)
{
for (j=len-1, c=Baselen-1-i; j>=0; j--)
{
ans[c++] += base[i]*result[j];
}
}
for (i=0; i<MAXN-1; i++)
{
ans[i+1] += ans[i]/10;
ans[i] %= 10;
}
for (i=MAXN-1; i>=0; i--)
{
if (ans[i]||i == c) break;
}
for ( ; i>=0; i--)result[k++] = ans[i];
return c+1;
}