# coding: utf-8
# コッホ曲線
import math
import decimal


def koch(depth, p1, p2):
    if depth == 0:
        return

    s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3)
    t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3)
    u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    )

    koch(depth - 1, p1, s)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), s)))
    koch(depth - 1, s, u)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), u)))
    koch(depth - 1, u, t)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), t)))
    koch(depth - 1, t, p2)


if __name__ == "__main__":
    depth = int(input())
    p1 = (decimal.Decimal(0), decimal.Decimal(0))
    p2 = (decimal.Decimal(100), decimal.Decimal(0))
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p1)))
    koch(depth, p1, p2)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p2)))
 import math math import decimal decimal def koch(depth, p1, p2):
    if depth == 0:
        return

    s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3)
    t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3)
    u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    )

    koch(depth - 1, p1, s)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), s)))
    koch(depth - 1, s, u)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), u)))
    koch(depth - 1, u, t)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), t)))
    koch(depth - 1, t, p2) koch if depth == 0:
        return

     depth == 0 depth 0 return s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3) s (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3) decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3 decimal.Decimal((2 * p1[0] + 1 * p2[0])) decimal.Decimal decimal Decimal 2 * p1[0] + 1 * p2[0] 2 * p1[0] 2 p1[0] p1 0 1 * p2[0] 1 p2[0] p2 0 3 decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3 decimal.Decimal((2 * p1[1] + 1 * p2[1])) decimal.Decimal decimal Decimal 2 * p1[1] + 1 * p2[1] 2 * p1[1] 2 p1[1] p1 1 1 * p2[1] 1 p2[1] p2 1 3 t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3) t (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3) decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3 decimal.Decimal((1 * p1[0] + 2 * p2[0])) decimal.Decimal decimal Decimal 1 * p1[0] + 2 * p2[0] 1 * p1[0] 1 p1[0] p1 0 2 * p2[0] 2 p2[0] p2 0 3 decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3 decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) decimal.Decimal decimal Decimal 1 * p1[1] + 2 * p2[1] 1 * p1[1] 1 p1[1] p1 1 2 * p2[1] 2 p2[1] p2 1 3 u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    ) u (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    ) (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0] (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) t[0] - s[0] t[0] t 0 s[0] s 0 decimal.Decimal(math.cos(math.radians(60))) decimal.Decimal decimal Decimal math.cos(math.radians(60)) math.cos math cos math.radians(60) math.radians math radians 60 (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) t[1] - s[1] t[1] t 1 s[1] s 1 decimal.Decimal(math.sin(math.radians(60))) decimal.Decimal decimal Decimal math.sin(math.radians(60)) math.sin math sin math.radians(60) math.radians math radians 60 s[0] s 0 (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1] (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) t[0] - s[0] t[0] t 0 s[0] s 0 decimal.Decimal(math.sin(math.radians(60))) decimal.Decimal decimal Decimal math.sin(math.radians(60)) math.sin math sin math.radians(60) math.radians math radians 60 (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) t[1] - s[1] t[1] t 1 s[1] s 1 decimal.Decimal(math.cos(math.radians(60))) decimal.Decimal decimal Decimal math.cos(math.radians(60)) math.cos math cos math.radians(60) math.radians math radians 60 s[1] s 1 koch(depth - 1, p1, s) koch depth - 1 depth 1 p1 s print(' '.join(map(lambda x: '{:.8f}'.format(x), s))) print ' '.join(map(lambda x: '{:.8f}'.format(x), s)) ' '.join ' ' join map(lambda x: '{:.8f}'.format(x), s) map lambda x: '{:.8f}'.format(x) '{:.8f}'.format(x) '{:.8f}'.format '{:.8f}' format x x s koch(depth - 1, s, u) koch depth - 1 depth 1 s u print(' '.join(map(lambda x: '{:.8f}'.format(x), u))) print ' '.join(map(lambda x: '{:.8f}'.format(x), u)) ' '.join ' ' join map(lambda x: '{:.8f}'.format(x), u) map lambda x: '{:.8f}'.format(x) '{:.8f}'.format(x) '{:.8f}'.format '{:.8f}' format x x u koch(depth - 1, u, t) koch depth - 1 depth 1 u t print(' '.join(map(lambda x: '{:.8f}'.format(x), t))) print ' '.join(map(lambda x: '{:.8f}'.format(x), t)) ' '.join ' ' join map(lambda x: '{:.8f}'.format(x), t) map lambda x: '{:.8f}'.format(x) '{:.8f}'.format(x) '{:.8f}'.format '{:.8f}' format x x t koch(depth - 1, t, p2) koch depth - 1 depth 1 t p2 depth depth p1 p1 p2 p2 if __name__ == "__main__":
    depth = int(input())
    p1 = (decimal.Decimal(0), decimal.Decimal(0))
    p2 = (decimal.Decimal(100), decimal.Decimal(0))
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p1)))
    koch(depth, p1, p2)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p2))) __name__ == "__main__" __name__ "__main__" depth = int(input()) depth int(input()) int input() input p1 = (decimal.Decimal(0), decimal.Decimal(0)) p1 (decimal.Decimal(0), decimal.Decimal(0)) decimal.Decimal(0) decimal.Decimal decimal Decimal 0 decimal.Decimal(0) decimal.Decimal decimal Decimal 0 p2 = (decimal.Decimal(100), decimal.Decimal(0)) p2 (decimal.Decimal(100), decimal.Decimal(0)) decimal.Decimal(100) decimal.Decimal decimal Decimal 100 decimal.Decimal(0) decimal.Decimal decimal Decimal 0 print(' '.join(map(lambda x: '{:.8f}'.format(x), p1))) print ' '.join(map(lambda x: '{:.8f}'.format(x), p1)) ' '.join ' ' join map(lambda x: '{:.8f}'.format(x), p1) map lambda x: '{:.8f}'.format(x) '{:.8f}'.format(x) '{:.8f}'.format '{:.8f}' format x x p1 koch(depth, p1, p2) koch depth p1 p2 print(' '.join(map(lambda x: '{:.8f}'.format(x), p2))) print ' '.join(map(lambda x: '{:.8f}'.format(x), p2)) ' '.join ' ' join map(lambda x: '{:.8f}'.format(x), p2) map lambda x: '{:.8f}'.format(x) '{:.8f}'.format(x) '{:.8f}'.format '{:.8f}' format x x p2 p2 = (decimal.Decimal(100), decimal.Decimal(0)) (decimal.Decimal(100), decimal.Decimal(0)) p2 p1 = (decimal.Decimal(0), decimal.Decimal(0)) (decimal.Decimal(0), decimal.Decimal(0)) p1 depth = int(input()) int(input()) depth def koch(depth, p1, p2):
    if depth == 0:
        return

    s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3)
    t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3)
    u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    )

    koch(depth - 1, p1, s)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), s)))
    koch(depth - 1, s, u)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), u)))
    koch(depth - 1, u, t)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), t)))
    koch(depth - 1, t, p2) def koch(depth, p1, p2):
    if depth == 0:
        return

    s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3)
    t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3)
    u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    )

    koch(depth - 1, p1, s)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), s)))
    koch(depth - 1, s, u)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), u)))
    koch(depth - 1, u, t)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), t)))
    koch(depth - 1, t, p2) koch
# coding: utf-8
# コッホ曲線
import math
import decimal


def koch(depth, p1, p2):
    if depth == 0:
        return

    s = (decimal.Decimal((2 * p1[0] + 1 * p2[0])) / 3,
         decimal.Decimal((2 * p1[1] + 1 * p2[1])) / 3)
    t = (decimal.Decimal((1 * p1[0] + 2 * p2[0])) / 3,
         decimal.Decimal(((1 * p1[1] + 2 * p2[1]))) / 3)
    u = (
        (t[0] - s[0]) * decimal.Decimal(math.cos(math.radians(60))) -
        (t[1] - s[1]) * decimal.Decimal(math.sin(math.radians(60))) + s[0],
        (t[0] - s[0]) * decimal.Decimal(math.sin(math.radians(60))) +
        (t[1] - s[1]) * decimal.Decimal(math.cos(math.radians(60))) + s[1],
    )

    koch(depth - 1, p1, s)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), s)))
    koch(depth - 1, s, u)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), u)))
    koch(depth - 1, u, t)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), t)))
    koch(depth - 1, t, p2)


if __name__ == "__main__":
    depth = int(input())
    p1 = (decimal.Decimal(0), decimal.Decimal(0))
    p2 = (decimal.Decimal(100), decimal.Decimal(0))
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p1)))
    koch(depth, p1, p2)
    print(' '.join(map(lambda x: '{:.8f}'.format(x), p2)))

