# [Pyramid Scheme], <s>166</s> <s>156</s> <s>131</s> 123 bytes

Saved 10 bytes thanks to Pavel! Saved <s>25</s> 33 bytes thanks to Khuldraeseth na'Barya!

       ^       ^
      / \     / \
     /set\   /do \
    ^-----^ ^-----^
    -    ^- -^   / \
        /l\ /#\ /out\
       /ine\---^-----
       -----   -

[Try it online!][TIO-jyjdw923]

[Pyramid Scheme]: https://github.com/ConorOBrien-Foxx/Pyramid-Scheme
[TIO-jyjdw923]: https://tio.run/##NYtRCoAwDEP/d4qA36V4n1EQN3CgTtz88PRzrRooLwnpcZ/TlgKVeYlbbA2A4JU4gOHNdzpwiVUjh9yjkErw0ZH9EEj@vXL14KFfvqo1nPbodW9f2phRtjY@ "Pyramid Scheme – Try It Online"

[Try it online!][TIO-jyjddn5f]

[Pyramid Scheme]: https://github.com/ConorOBrien-Foxx/Pyramid-Scheme
[TIO-jyjddn5f]: https://tio.run/##TYtNCoAgEIX3nuJB62HoPiJEDhRkRtqi05s6Lvo272fmXe@9hN1TWjcJUgoAh4EzAMNqqMaAk@Se2ceaHTXq/zCG@u2waKVOmu6nWJ4sOD5ZKxro0OAHlTJ/ "Pyramid Scheme – Try It Online"

## Old answer and explanation (functionally equivalent)

        ^        ^
       / \      / \
      /set\    /do \
     ^-----^  ^-----^
    /a\   /#\/a\   / \
    ---  ^------  /out\
        /l\      ^-----
       /ine\    /a\
       -----    ---

Hehe. I love this language.

## Explanation

There are two pyramid chains. The first is:

        ^
       / \
      /set\
     ^-----^
    /a\   /#\
    ---  ^---
        /l\
       /ine\
       -----

This `set`s variable `a` to `line` (a line read from STDIN), as a value (`#`).

The second:

        ^
       / \
      /do \
     ^-----^
    /a\   / \
    ---  /out\
        ^-----
       /a\
       ---

This is a `do while` loop, with the left pyramid being the condition, and the right one being the body. Equivalent to:

    do {
        out(a);
    } while(a);

which is what we want.