def quick(a,n):
ans, res = 1,a
while n:
if n & 1:
ans = ans * res
res = (res * res)
n >>= 1
return ans
def judge():
global s
if len(num) == 1:
print(str(quick(int(num[0]), int(temp[1]))))
else:
num[1] = num[1].rstrip('0')
x = int(num[0]) * (10 ** len(num[1])) + int(num[1])
ans = str(quick(x, temp[1]))
l = len(ans) - len(num[1]) * temp[1]
if l > 0:
print(ans[:l] + "." + ans[l:].rstrip('0'))
else:
print('.' + '0' * abs(l) + ans[:].rstrip('0'))
while True:
try:
temp = input().split()
temp[1] = int(temp[1])
num = list(temp[0].split("."))
judge()
except:
break