USING: splitting kernel assocs sequences io sorting math.parser ; IN: bench : process-line ( assoc str -- assoc ) " " split [ 1 swap pick at+ ] each ; : collect-data ( assoc -- assoc ) readln [ process-line collect-data ] when* ; : read-input ( -- assoc ) H{ } clone collect-data "" over delete-at ; : write-output ( assoc -- ) >alist sort-keys [ swap write bl number>string print ] assoc-each ; read-input write-output