#include <stdio.h>
#include <math.h>

int Koch(double,double,double,double,int);
int n;
  
int main(){
  int i;
  double a,b,c,d;
  a=0,b=0,c=100,d=0;
  scanf("%d",&n);
  printf("%.8f %.8f\n",a,b);
  Koch(a,b,c,d,n);
}

int Koch(double a, double b, double c, double d, int deep){

  if(deep>0){
    Koch(a,b,(2*a+c)/3,(2*b+d)/3,deep-1);
    Koch((2*a+c)/3,(2*b+d)/3,(3*a+3*c+sqrt(3)*b-sqrt(3)*d)/6,(-sqrt(3)*a+3*b+sqrt(3)*c+3*d)/6,deep-1);
    Koch((3*a+3*c+sqrt(3)*b-sqrt(3)*d)/6,(-sqrt(3)*a+3*b+sqrt(3)*c+3*d)/6,(a+2*c)/3,(b+2*d)/3,deep-1);
  }
  printf("%.8f %.8f\n",c,d);
  return 0;
}