http://qs321.pair.com?node_id=412688

The algorithm present in this JAPH is a variation on another JAPH I wrote, although the look is quite different. It only has one trick that I consider surprising, but I thought the formatting turned out rather nice.

s oohaa ctkseurjogis; s ii rpeehrtlo nisom; +$ -= + split $ +; ; print + splice @ ## ; _ => + $ ---, $ ++ 1 while + $ ---- $ ++ @ _