Smileys Triangle, short code #1

なんだか寝付けないので、ショートコード。
しかも新しい問題に手をつけてみる。
anarchy golf - Smileys Triangle
あれこれ考えて42Byte。

うーん、トップの39Byteまで、あと3バイト。
どうやればいいんだろ・・。
:-)))))))))))))


42Byteのコードを以下に載せておきます。


LF改行で、保存します。

puts":
:-"
0.upto(31){|i|puts':-)'+'))'*i}

putsを2回やってるのが無駄っぽいよなー。
もしくは、文字列の加算部分だよなー。
意外なところで、|i|というイテレータ定義?(==ループ表現?)