procedure decol(s, widths)
   local parts, i, form

   parts := list(*widths, "|")

   s ? {
      repeat {
         every i := 1 to *widths do {
            if pos(0) then break break
            parts[i] ||:= move(widths[i]) | next
            }
         }
      }

   form := ""

   every form ||:= !parts

   return "{" || form[2:0] || "}"

end