n = int(input())
L = [[0,0],[100,0]]
for i in range(n):
    sub = []
    for j in range(len(L)-1):
        K = []
        a = L[j][0]
        b = L[j][1]
        c = L[j+1][0]
        d = L[j+1][1]
        if a == 0:
            K.append([a,b])
        K.append([a+((c-a)/3),b+((d-b)/3)])
        K.append([(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6])
        K.append([a+((c-a)*2/3),b+((d-b)*2/3)])
        K.append([c,d])
        sub = sub+K
    L = sub
for i in range(len(L)):
    print(L[i][0],L[i][1]) n = int(input()) n int(input()) int input() input L = [[0,0],[100,0]] L [[0,0],[100,0]] [0,0] 0 0 [100,0] 100 0 for i in range(n):
    sub = []
    for j in range(len(L)-1):
        K = []
        a = L[j][0]
        b = L[j][1]
        c = L[j+1][0]
        d = L[j+1][1]
        if a == 0:
            K.append([a,b])
        K.append([a+((c-a)/3),b+((d-b)/3)])
        K.append([(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6])
        K.append([a+((c-a)*2/3),b+((d-b)*2/3)])
        K.append([c,d])
        sub = sub+K
    L = sub i range(n) range n sub = [] sub [] for j in range(len(L)-1):
        K = []
        a = L[j][0]
        b = L[j][1]
        c = L[j+1][0]
        d = L[j+1][1]
        if a == 0:
            K.append([a,b])
        K.append([a+((c-a)/3),b+((d-b)/3)])
        K.append([(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6])
        K.append([a+((c-a)*2/3),b+((d-b)*2/3)])
        K.append([c,d])
        sub = sub+K
     j range(len(L)-1) range len(L)-1 len(L) len L 1 K = [] K [] a = L[j][0] a L[j][0] [j] L j 0 b = L[j][1] b L[j][1] [j] L j 1 c = L[j+1][0] c L[j+1][0] [j+1] L j+1 j 1 0 d = L[j+1][1] d L[j+1][1] [j+1] L j+1 j 1 1 if a == 0:
            K.append([a,b])
         a == 0 a 0 K.append([a,b]) K.append K append [a,b] a b K.append([a+((c-a)/3),b+((d-b)/3)]) K.append K append [a+((c-a)/3),b+((d-b)/3)] a+((c-a)/3) a (c-a)/3 c-a c a 3 b+((d-b)/3) b (d-b)/3 d-b d b 3 K.append([(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6]) K.append K append [(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6] (a+c)/2+(b-d)*(3**0.5)/6 (a+c)/2 a+c a c 2 (b-d)*(3**0.5)/6 (b-d)*(3**0.5) b-d b d 3**0.5 3 0.5 6 (b+d)/2+(c-a)*(3**0.5)/6 (b+d)/2 b+d b d 2 (c-a)*(3**0.5)/6 (c-a)*(3**0.5) c-a c a 3**0.5 3 0.5 6 K.append([a+((c-a)*2/3),b+((d-b)*2/3)]) K.append K append [a+((c-a)*2/3),b+((d-b)*2/3)] a+((c-a)*2/3) a (c-a)*2/3 (c-a)*2 c-a c a 2 3 b+((d-b)*2/3) b (d-b)*2/3 (d-b)*2 d-b d b 2 3 K.append([c,d]) K.append K append [c,d] c d sub = sub+K sub sub+K sub K L = sub L sub for i in range(len(L)):
    print(L[i][0],L[i][1]) i range(len(L)) range len(L) len L print(L[i][0],L[i][1]) print L[i][0] [i] L i 0 L[i][1] [i] L i 1 b = L[j][1] L[j][1] b d = L[j+1][1] L[j+1][1] d a = L[j][0] L[j][0] a sub = sub+K sub+K sub L = sub sub L L = [[0,0],[100,0]] [[0,0],[100,0]] L sub = [] [] sub K = [] [] K n = int(input()) int(input()) n c = L[j+1][0] L[j+1][0] c
n = int(input())
L = [[0,0],[100,0]]
for i in range(n):
    sub = []
    for j in range(len(L)-1):
        K = []
        a = L[j][0]
        b = L[j][1]
        c = L[j+1][0]
        d = L[j+1][1]
        if a == 0:
            K.append([a,b])
        K.append([a+((c-a)/3),b+((d-b)/3)])
        K.append([(a+c)/2+(b-d)*(3**0.5)/6,(b+d)/2+(c-a)*(3**0.5)/6])
        K.append([a+((c-a)*2/3),b+((d-b)*2/3)])
        K.append([c,d])
        sub = sub+K
    L = sub
for i in range(len(L)):
    print(L[i][0],L[i][1])
