code: def mark_message_lines(lines):
      
      markers = ['e' for _ in lines]
      i = 0
      while i < len(lines):
          if not lines[i].strip():
              markers[i] = 'e'  # empty line
          elif QUOT_PATTERN.match(lines[i]):
              markers[i] = 'm'  # line with quotation marker
          elif RE_FWD.match(lines[i]):
              markers[i] = 'f'  # ---- Forwarded message ----
          else:
              # in case splitter is spread across several lines
              splitter = is_splitter('\n'.join(lines[i:i + SPLITTER_MAX_LINES]))
  
              if splitter:
                  # append as many splitter markers as lines in splitter
                  splitter_lines = splitter.group().splitlines()
                  for j in range(len(splitter_lines)):
                      markers[i + j] = 's'
  
                  # skip splitter lines
                  i += len(splitter_lines) - 1
              else:
                  # probably the line from the last message in the conversation
                  markers[i] = 't'
          i += 1
  
      return ''.join(markers)
docs: Mark message lines with markers to distinguish quotation lines.
  
      Markers:
  
      * e - empty line
      * m - line that starts with quotation marker '>'
      * s - splitter line
      * t - presumably lines from the last message in the conversation
  
      >>> mark_message_lines(['answer', 'From: foo@bar.com', '', '> question'])
      'tsem'