A Sierpinski triangle >>21 painted over a Sierpinski carpet >>17.
>>> print ((lambda mY, xjoin, size, half, cell, boot, pred, n, E, L, R, C: (lambda xjoin, cell, pred, n: (lambda symbol: xjoin (n, lambda k: xjoin (2 * n, lambda j: symbol (k, j), ''), '\n')) (lambda k, j: (lambda c: L if c < 0 else R if c > 0 else C if pred (k, j // 2) else E) (boot (cell, n, k, j)))) (mY (xjoin), mY (cell, mY (half)), mY (pred), size (n))) (lambda f, *more: (lambda x: x (x)) (lambda y: f (lambda *args: y (y) (*args), *more)), lambda f: lambda n, g, s: '' if n <= 0 else g (0) if n == 1 else f (n - 1, g, s) + s + g (n - 1), lambda n: 3 ** n, lambda f: lambda n, p: p >> 1 if p > n else f (n, p << 1), lambda f, half: lambda lr, k, j: 0 if j > k else lr if k == 0 else (lambda h: f (-lr, k - h, h - 1 - j) if j < h else f (lr, k - h, j - h)) (half (k, 2)), lambda cell, n, k, j: cell (-1, k, n - 1 - j) if j < n else cell (1, k, j - n), lambda f: lambda k, j: ((k == 0) or (j == 0)) or (not ((k % 3 == 1) and (j % 3 == 1)) and f (k // 3, j // 3)), 3, " ", "◢", "◣", "░"))
separate output for 413