1 #include<stdio.h>
2 #include<string.h>
3
4 int n, p, len, flag;
5 char a[10],s[10], sum[200], sum2[200];
6
7 void solve()
8 {
9 memset(sum2,0,sizeof(sum2));
10 len += 5;
11 for(int i = 0; i < p; i ++)
12 {
13 int c = 0;
14 for(int j = 0; j <= len; j ++)
15 {
16 sum2[i+j] += s[i]*sum[j] + c;
17 c = sum2[i+j]/10;
18 sum2[i+j] = sum2[i+j]%10;
19 }
20 }
21 for(int i = 0; i <= len+5; i ++)
22 sum[i] = sum2[i];
23 //for(int i = 0; i <= len+5; i ++)
24 // printf("%d ",sum[i]);
25 //puts("");
26 //getchar();getchar();
27 }
28
29 int main()
30 {
31 while(~scanf("%s%d",&a, &n))
32 {
33 memset(sum, 0, sizeof(sum));
34 p = 0;
35 for(int i = 5; i >= 0; i --)
36 if(a[i] != '.')
37 {
38 sum[p] = a[i]-'0';
39 s[p++] = a[i]-'0';
40 }
41 else flag = i;
42 len = 0;
43 for(int i = 0; i < n-1; i ++)
44 solve();
45 int i, j;
46 for(i = n*5; i >=0; i --)
47 if(sum[i] != 0 || i == n*(5-flag)) break;
48
49 for(j = 0; j <= n*5; j ++)
50 if(sum[j] != 0 || j == n*(5-flag) )break;//printf("i=%d j=%d\n",i,j);
51 //printf("sum[49]=%d\n",sum[49]);
52 for(int k = i; k >= j; k --)
53 {
54 if(k == i && i == n*(5-flag))
55 {
56 if(sum[k] != 0) printf("%d",sum[k]);
57 if(n*(5-flag) != j)printf(".");
58 }
59 else
60 {
61 printf("%d",sum[k]);
62 if(k == j && j == n*(5-flag));
63 else if(k == n*(5-flag)) printf(".");
64 }
65 }
66 puts("");
67 }
68 return 0;
69 }