import math

class Point:

    def __init__(self,x,y):
        self.x=x
        self.y=y
    

def kock(n,p1,p2):
    if n==0:
        return
    
    #calculate s,t,u from p1 and p2
    sx=(2*p1.x+1*p2.x)/3
    sy=(2*p1.y+1*p2.y)/3
    s=Point(sx,sy)
    tx=(1*p1.x+2*p2.x)/3
    ty=(1*p1.y+2*p2.y)/3
    t=Point(tx,ty)
    ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx
    uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy
    u=Point(ux,uy)

    kock(n-1,p1,s)
    print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y))
    kock(n-1,s,u)
    print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y))
    kock(n-1,u,t)
    print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y))
    kock(n-1,t,p2)

p1=Point(0,0)
p2=Point(100,0)


n=int(input())
print('{:.8f}'.format(p1.x),'{:.8f}'.format(p1.y))
kock(n,p1,p2)
print('{:.8f}'.format(p2.x),'{:.8f}'.format(p2.y)) import math math class Point:

    def __init__(self,x,y):
        self.x=x
        self.y=y
     Point def __init__(self,x,y):
        self.x=x
        self.y=y
     __init__ self.x=x self.x self x x self.y=y self.y self y y self self x x y y def kock(n,p1,p2):
    if n==0:
        return
    
    #calculate s,t,u from p1 and p2
    sx=(2*p1.x+1*p2.x)/3
    sy=(2*p1.y+1*p2.y)/3
    s=Point(sx,sy)
    tx=(1*p1.x+2*p2.x)/3
    ty=(1*p1.y+2*p2.y)/3
    t=Point(tx,ty)
    ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx
    uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy
    u=Point(ux,uy)

    kock(n-1,p1,s)
    print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y))
    kock(n-1,s,u)
    print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y))
    kock(n-1,u,t)
    print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y))
    kock(n-1,t,p2) kock if n==0:
        return
    
    #calculate s,t,u from p1 and p2
     n==0 n 0 return sx=(2*p1.x+1*p2.x)/3 sx (2*p1.x+1*p2.x)/3 2*p1.x+1*p2.x 2*p1.x 2 p1.x p1 x 1*p2.x 1 p2.x p2 x 3 sy=(2*p1.y+1*p2.y)/3 sy (2*p1.y+1*p2.y)/3 2*p1.y+1*p2.y 2*p1.y 2 p1.y p1 y 1*p2.y 1 p2.y p2 y 3 s=Point(sx,sy) s Point(sx,sy) Point sx sy tx=(1*p1.x+2*p2.x)/3 tx (1*p1.x+2*p2.x)/3 1*p1.x+2*p2.x 1*p1.x 1 p1.x p1 x 2*p2.x 2 p2.x p2 x 3 ty=(1*p1.y+2*p2.y)/3 ty (1*p1.y+2*p2.y)/3 1*p1.y+2*p2.y 1*p1.y 1 p1.y p1 y 2*p2.y 2 p2.y p2 y 3 t=Point(tx,ty) t Point(tx,ty) Point tx ty ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx ux (tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx (tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3) (tx-sx)*math.cos(math.pi/3) tx-sx tx sx math.cos(math.pi/3) math.cos math cos math.pi/3 math.pi math pi 3 (ty-sy)*math.sin(math.pi/3) ty-sy ty sy math.sin(math.pi/3) math.sin math sin math.pi/3 math.pi math pi 3 sx uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy uy (tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy (tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3) (tx-sx)*math.sin(math.pi/3) tx-sx tx sx math.sin(math.pi/3) math.sin math sin math.pi/3 math.pi math pi 3 (ty-sy)*math.cos(math.pi/3) ty-sy ty sy math.cos(math.pi/3) math.cos math cos math.pi/3 math.pi math pi 3 sy u=Point(ux,uy) u Point(ux,uy) Point ux uy kock(n-1,p1,s) kock n-1 n 1 p1 s print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y)) print '{:.8f}'.format(s.x) '{:.8f}'.format '{:.8f}' format s.x s x '{:.8f}'.format(s.y) '{:.8f}'.format '{:.8f}' format s.y s y kock(n-1,s,u) kock n-1 n 1 s u print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y)) print '{:.8f}'.format(u.x) '{:.8f}'.format '{:.8f}' format u.x u x '{:.8f}'.format(u.y) '{:.8f}'.format '{:.8f}' format u.y u y kock(n-1,u,t) kock n-1 n 1 u t print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y)) print '{:.8f}'.format(t.x) '{:.8f}'.format '{:.8f}' format t.x t x '{:.8f}'.format(t.y) '{:.8f}'.format '{:.8f}' format t.y t y kock(n-1,t,p2) kock n-1 n 1 t p2 n n p1 p1 p2 p2 p1=Point(0,0) p1 Point(0,0) Point 0 0 p2=Point(100,0) p2 Point(100,0) Point 100 0 n=int(input()) n int(input()) int input() input print('{:.8f}'.format(p1.x),'{:.8f}'.format(p1.y)) print '{:.8f}'.format(p1.x) '{:.8f}'.format '{:.8f}' format p1.x p1 x '{:.8f}'.format(p1.y) '{:.8f}'.format '{:.8f}' format p1.y p1 y kock(n,p1,p2) kock n p1 p2 print('{:.8f}'.format(p2.x),'{:.8f}'.format(p2.y)) print '{:.8f}'.format(p2.x) '{:.8f}'.format '{:.8f}' format p2.x p2 x '{:.8f}'.format(p2.y) '{:.8f}'.format '{:.8f}' format p2.y p2 y def kock(n,p1,p2):
    if n==0:
        return
    
    #calculate s,t,u from p1 and p2
    sx=(2*p1.x+1*p2.x)/3
    sy=(2*p1.y+1*p2.y)/3
    s=Point(sx,sy)
    tx=(1*p1.x+2*p2.x)/3
    ty=(1*p1.y+2*p2.y)/3
    t=Point(tx,ty)
    ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx
    uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy
    u=Point(ux,uy)

    kock(n-1,p1,s)
    print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y))
    kock(n-1,s,u)
    print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y))
    kock(n-1,u,t)
    print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y))
    kock(n-1,t,p2) def kock(n,p1,p2):
    if n==0:
        return
    
    #calculate s,t,u from p1 and p2
    sx=(2*p1.x+1*p2.x)/3
    sy=(2*p1.y+1*p2.y)/3
    s=Point(sx,sy)
    tx=(1*p1.x+2*p2.x)/3
    ty=(1*p1.y+2*p2.y)/3
    t=Point(tx,ty)
    ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx
    uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy
    u=Point(ux,uy)

    kock(n-1,p1,s)
    print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y))
    kock(n-1,s,u)
    print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y))
    kock(n-1,u,t)
    print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y))
    kock(n-1,t,p2) kock p1=Point(0,0) Point(0,0) p1 p2=Point(100,0) Point(100,0) p2 n=int(input()) int(input()) n class Point:

    def __init__(self,x,y):
        self.x=x
        self.y=y
     class Point:

    def __init__(self,x,y):
        self.x=x
        self.y=y
     Point
import math

class Point:

    def __init__(self,x,y):
        self.x=x
        self.y=y
    

def kock(n,p1,p2):
    if n==0:
        return
    
    #calculate s,t,u from p1 and p2
    sx=(2*p1.x+1*p2.x)/3
    sy=(2*p1.y+1*p2.y)/3
    s=Point(sx,sy)
    tx=(1*p1.x+2*p2.x)/3
    ty=(1*p1.y+2*p2.y)/3
    t=Point(tx,ty)
    ux=(tx-sx)*math.cos(math.pi/3)-(ty-sy)*math.sin(math.pi/3)+sx
    uy=(tx-sx)*math.sin(math.pi/3)+(ty-sy)*math.cos(math.pi/3)+sy
    u=Point(ux,uy)

    kock(n-1,p1,s)
    print('{:.8f}'.format(s.x),'{:.8f}'.format(s.y))
    kock(n-1,s,u)
    print('{:.8f}'.format(u.x),'{:.8f}'.format(u.y))
    kock(n-1,u,t)
    print('{:.8f}'.format(t.x),'{:.8f}'.format(t.y))
    kock(n-1,t,p2)

p1=Point(0,0)
p2=Point(100,0)


n=int(input())
print('{:.8f}'.format(p1.x),'{:.8f}'.format(p1.y))
kock(n,p1,p2)
print('{:.8f}'.format(p2.x),'{:.8f}'.format(p2.y))
