#include<stdio.h>
#include<math.h>
#define pi M_PI

typedef struct xy{
double x;
double y;
}P;

P koch(P pre,P nex,int i){
P PREV,MID,NEXT,DIS;
if(i == 0)printf("%f %f\n",pre.x,pre.y);
else{
DIS.x = nex.x - pre.x;
DIS.y = nex.y - pre.y;
PREV.x = pre.x + DIS.x/3.0;
NEXT.x = pre.x + DIS.x*2.0/3.0;
PREV.y = pre.y + DIS.y/3.0;
NEXT.y = pre.y + DIS.y*2.0/3.0;
MID.x = PREV.x + (DIS.x/3.0)*cos(pi/3.0) - (DIS.y/3.0)*sin(pi/3.0);
MID.y = PREV.y + (DIS.x/3.0)*sin(pi/3.0) + (DIS.y/3.0)*cos(pi/3.0);

koch(pre,PREV,i - 1);
koch(PREV,MID,i - 1);
koch(MID,NEXT,i - 1);
koch(NEXT,nex,i - 1);
}
}

int main(int argc,char argv[]){
P pre={0,0},nex={100,0};
int a;
scanf("%d",&a);
koch(pre,nex,a);
printf("%f %f\n",nex.x,nex.y);
return 0;
}

