In bioinformatics, long character strings are often encoded in a format called FASTA.

A FASTA file can contain several strings, each identified by a name marked by a > (greater than) character at the beginning of the line.



Task

Write a program that reads a FASTA file such as:

>Rosetta_Example_1
THERECANBENOSPACE
>Rosetta_Example_2
THERECANBESEVERAL
LINESBUTTHEYALLMUST
BECONCATENATED


Output:
Rosetta_Example_1: THERECANBENOSPACE
Rosetta_Example_2: THERECANBESEVERALLINESBUTTHEYALLMUSTBECONCATENATED

Note that a high-quality implementation will not hold the entire file in memory at once; real FASTA files can be multiple gigabytes in size.




;; * The input file as a parameter
(defparameter *input* #p"fasta.txt"
              "The input file name.")
 
;; * Reading the data
(with-open-file (data *input*)
  (loop
     :for line = (read-line data nil nil)
     :while line
     ;; Check if we have a comment using a simple test instead of a RegEx
     :if (char= #\> (char line 0))
     :do (format t "~&~a: " (subseq line 1))
     :else
     :do (format t "~a" line)))