: pad-center ( seq n elt -- padded ) [ dup length 2 /i cut -rot 3append ] padding ; : rule ( in -- out ) [ "aaa" = ] [ "bbb" = ] bi or [ CHAR: a ] [ CHAR: b ] if ; : transition ( seq -- seq ) "aa" dup swapd 3append 3 [ rule ] map ; : ascii-sierpinsky ( n -- seqs ) "b" swap [1,b] [ drop [ transition ] keep 80 CHAR: \s pad-center >string ] map nip ;