#include<stdio.h>
int main()
{
double sum=0,m,a,i=1,n;//n为反弹次数,a为初始高度,m为反弹后的高度
scanf("%lf %lf",&a,&n);//double的scanf是%lf
if (i==1){ //第一次下落是单行程,与之后的循环不符,单独写//if 里条件是等于时双写就是等于//单写是赋值
m=a/2;
sum=a;
}else if(n>1){
sum=a;//第一次下落后是双行程,双行程的初始值已经有了a
for (i=1;i<n;i++){
sum+=m;//sum结果是浮点,m也得是,即a也是//画图可得
m=m/2;
}
} printf("%.1f %.1f",sum,m/2);
return 0;
}