#include <stdio.h>
#include <math.h>
#define PI M_PI
typedef struct point{
  double x;
  double y;
}P;

void Kock(P f, P l, int n){
  double theta = PI/3.0;
  P s, u, t;
  if(n == 0) return ;
  s.x = (2*f.x + l.x)/3;
  s.y = (2*f.y + l.y)/3;
  t.x = (f.x + 2*l.x)/3;
  t.y = (f.y + 2*l.x)/3;
  u.x = (t.x - s.x)*cos(theta) - (t.y - s.y)*sin(theta) + s.x;
  u.y = (t.x - s.x)*sin(theta) + (t.y - s.y)*cos(theta) + s.y;
  
  Kock(f,s,n-1);
  printf("%f %f\n",s.x, s.y);
  Kock(s,u,n-1);
  printf("%f %f\n",u.x, u.y);
  Kock(u,t,n-1);
  printf("%f %f\n",t.x, t.y);
  Kock(t,l,n-1);
  
}

int main(){
  P f={0.0, 0.0}, l={100.0, 0.0};
  int n;
  scanf("%d",&n);
  printf("%f %f\n",f.x, f.y);
  Kock(f, l, n);
  printf("%f %f\n",l.x, l.y);
  return 0;
}