import math
n = int(input())
p1 = (0, 0)
p2 = (100, 0)

def kock(n, p1, p2):
    if n == 0:
        return
    
    sx = 2 / 3 * p1[0] + 1 / 3 * p2[0]
    sy = 2 / 3 * p1[1] + 1 / 3 * p2[1]
    s = (sx, sy)
    
    tx = 1 / 3 * p1[0] + 2 / 3 * p2[0]
    ty = 1 / 3 * p1[1] + 2 / 3 * p2[1]
    t = (tx, ty)
    
    ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx
    uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy
    u = (ux, uy)
    
    kock(n-1, p1, s)
    print (*s)
    kock(n-1, s, u)
    print (*u)
    kock(n-1, u, t)
    print (*t)
    kock(n-1, t, p2)
    
print(*p1)
kock(n, p1, p2)
print(*p2) import math math n = int(input()) n int(input()) int input() input p1 = (0, 0) p1 (0, 0) 0 0 p2 = (100, 0) p2 (100, 0) 100 0 def kock(n, p1, p2):
    if n == 0:
        return
    
    sx = 2 / 3 * p1[0] + 1 / 3 * p2[0]
    sy = 2 / 3 * p1[1] + 1 / 3 * p2[1]
    s = (sx, sy)
    
    tx = 1 / 3 * p1[0] + 2 / 3 * p2[0]
    ty = 1 / 3 * p1[1] + 2 / 3 * p2[1]
    t = (tx, ty)
    
    ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx
    uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy
    u = (ux, uy)
    
    kock(n-1, p1, s)
    print (*s)
    kock(n-1, s, u)
    print (*u)
    kock(n-1, u, t)
    print (*t)
    kock(n-1, t, p2)
     kock if n == 0:
        return
    
     n == 0 n 0 return sx = 2 / 3 * p1[0] + 1 / 3 * p2[0] sx 2 / 3 * p1[0] + 1 / 3 * p2[0] 2 / 3 * p1[0] 2 / 3 2 3 p1[0] p1 0 1 / 3 * p2[0] 1 / 3 1 3 p2[0] p2 0 sy = 2 / 3 * p1[1] + 1 / 3 * p2[1] sy 2 / 3 * p1[1] + 1 / 3 * p2[1] 2 / 3 * p1[1] 2 / 3 2 3 p1[1] p1 1 1 / 3 * p2[1] 1 / 3 1 3 p2[1] p2 1 s = (sx, sy) s (sx, sy) sx sy tx = 1 / 3 * p1[0] + 2 / 3 * p2[0] tx 1 / 3 * p1[0] + 2 / 3 * p2[0] 1 / 3 * p1[0] 1 / 3 1 3 p1[0] p1 0 2 / 3 * p2[0] 2 / 3 2 3 p2[0] p2 0 ty = 1 / 3 * p1[1] + 2 / 3 * p2[1] ty 1 / 3 * p1[1] + 2 / 3 * p2[1] 1 / 3 * p1[1] 1 / 3 1 3 p1[1] p1 1 2 / 3 * p2[1] 2 / 3 2 3 p2[1] p2 1 t = (tx, ty) t (tx, ty) tx ty ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx ux math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) math.cos(math.radians(60)) * (tx-sx) math.cos(math.radians(60)) math.cos math cos math.radians(60) math.radians math radians 60 tx-sx tx sx math.sin(math.radians(60)) * (ty-sy) math.sin(math.radians(60)) math.sin math sin math.radians(60) math.radians math radians 60 ty-sy ty sy sx uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy uy math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) math.sin(math.radians(60)) * (tx-sx) math.sin(math.radians(60)) math.sin math sin math.radians(60) math.radians math radians 60 tx-sx tx sx math.cos(math.radians(60)) * (ty-sy) math.cos(math.radians(60)) math.cos math cos math.radians(60) math.radians math radians 60 ty-sy ty sy sy u = (ux, uy) u (ux, uy) ux uy kock(n-1, p1, s) kock n-1 n 1 p1 s print (*s) print *s s kock(n-1, s, u) kock n-1 n 1 s u print (*u) print *u u kock(n-1, u, t) kock n-1 n 1 u t print (*t) print *t t kock(n-1, t, p2) kock n-1 n 1 t p2 n n p1 p1 p2 p2 print(*p1) print *p1 p1 kock(n, p1, p2) kock n p1 p2 print(*p2) print *p2 p2 def kock(n, p1, p2):
    if n == 0:
        return
    
    sx = 2 / 3 * p1[0] + 1 / 3 * p2[0]
    sy = 2 / 3 * p1[1] + 1 / 3 * p2[1]
    s = (sx, sy)
    
    tx = 1 / 3 * p1[0] + 2 / 3 * p2[0]
    ty = 1 / 3 * p1[1] + 2 / 3 * p2[1]
    t = (tx, ty)
    
    ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx
    uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy
    u = (ux, uy)
    
    kock(n-1, p1, s)
    print (*s)
    kock(n-1, s, u)
    print (*u)
    kock(n-1, u, t)
    print (*t)
    kock(n-1, t, p2)
     def kock(n, p1, p2):
    if n == 0:
        return
    
    sx = 2 / 3 * p1[0] + 1 / 3 * p2[0]
    sy = 2 / 3 * p1[1] + 1 / 3 * p2[1]
    s = (sx, sy)
    
    tx = 1 / 3 * p1[0] + 2 / 3 * p2[0]
    ty = 1 / 3 * p1[1] + 2 / 3 * p2[1]
    t = (tx, ty)
    
    ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx
    uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy
    u = (ux, uy)
    
    kock(n-1, p1, s)
    print (*s)
    kock(n-1, s, u)
    print (*u)
    kock(n-1, u, t)
    print (*t)
    kock(n-1, t, p2)
     kock p1 = (0, 0) (0, 0) p1 n = int(input()) int(input()) n p2 = (100, 0) (100, 0) p2
import math
n = int(input())
p1 = (0, 0)
p2 = (100, 0)

def kock(n, p1, p2):
    if n == 0:
        return
    
    sx = 2 / 3 * p1[0] + 1 / 3 * p2[0]
    sy = 2 / 3 * p1[1] + 1 / 3 * p2[1]
    s = (sx, sy)
    
    tx = 1 / 3 * p1[0] + 2 / 3 * p2[0]
    ty = 1 / 3 * p1[1] + 2 / 3 * p2[1]
    t = (tx, ty)
    
    ux = math.cos(math.radians(60)) * (tx-sx) - math.sin(math.radians(60)) * (ty-sy) + sx
    uy = math.sin(math.radians(60)) * (tx-sx) + math.cos(math.radians(60)) * (ty-sy) + sy
    u = (ux, uy)
    
    kock(n-1, p1, s)
    print (*s)
    kock(n-1, s, u)
    print (*u)
    kock(n-1, u, t)
    print (*t)
    kock(n-1, t, p2)
    
print(*p1)
kock(n, p1, p2)
print(*p2)
