{def DNA CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATGCTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTGAGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGATGGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTTCGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGGTCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATATTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTATCGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTGTCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGACGACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT} -> DNA {def base_count {def base_count.r {lambda {:dna :b :n :i :count} {if {> :i :n} then :count else {base_count.r :dna :b :n {+ :i 1} {if {W.equal? {W.get :i :dna} :b} then {+ :count 1} else :count}} }}} {lambda {:dna :b} {base_count.r :dna :b {- {W.length :dna} 1} 0 0} }} -> base_count {def S {S.map {base_count {DNA}}} A C G T}} -> S [A C G T] = (129 97 119 155) A+C+G+T = {+ {S}} -> A+C+G+T = 500