#Common Lisp, <s>90</s> <s>86</s> <s>85</s> 81 bytes (format t"~5@{~@?~&~}~4@{~2:*~@?~&~}"#1="~9@{-~}""|~8t|"#1#"| | |""~9@{x~}"1) <s>First we print out all arguments, and then we print them in reversed order (without `xxxxxxxxx`).</s> Similiar solution, but instead of providing every variable directly I give (where it's efficient) control string which will output needed text.