#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
const float cos60=0.5;
const float sin60=sqrt(3.0)*0.5;
void func(int N,float x1,float y1,float x2,float y2){
	float x[5];
	float y[5];
	x[0]=x1;
	y[0]=y1;
	x[4]=x2;
	y[4]=y2;
	x[1]=(x1*2+x2)/3;
	y[1]=(y1*2+y2)/3;
	x[3]=(x1+x2*2)/3;
	y[3]=(y1+y2*2)/3;
	x[2]= x[1] + (x[3]-x[1]) * cos60 - (y[3]-y[1])*sin60;
	y[2]= y[1] + (x[3]-x[1]) * sin60 + (y[3]-y[1])*cos60;
	if(N==1){
		for(int i=0;i<4;++i){
			printf("%.7f %.7f\n",x[i],y[i]);
		}
	}else{
		for(int i=0;i<4;++i){
			func(N-1,x[i],y[i],x[i+1],y[i+1]);
		}
	} 
}
int main(){
	int N;
	cin>>N;
	if(N>0){
		func(N,0,0,100,0);
	}else{
		printf("0.0000000 0.0000000\n");
	}
	printf("100.0000000 0.0000000\n");
	return 0;
}
