function encode(sequence s) sequence out = {} integer prev_char,count = 1 if length(s) then prev_char = s[1] for i=2 to length(s) do if s[i]!=prev_char then out &= {count,prev_char} prev_char = s[i] count = 1 else count += 1 end if end for out &= {count,prev_char} end if return out end function function decode(sequence s) sequence out = {} for i=1 to length(s) by 2 do out &= repeat(s[i+1],s[i]) end for return out end function sequence s = encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW") pp(s) ?decode(s)