<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _rm_get_names_from_header(parts):
 """ get repeat and seq. name from repeatmasker alignment header line. An example header line is:: 239 29.42 1.92 0.97 chr1 11 17 (41) C XX#YY (74) 104 1 m_b1s502i1 4 the genomic sequence name is always at position 4 (zero-based index); the name of the repeat is at position 9 if matching the reverse complement of the consensus sequence for the repeat and position 8 otherwise :param parts: the header line, as a tokenized list. :return: tuple of (name of genomic sequence, name of repeat sequence) """

  assert((parts[8] == "C" and len(parts) == 15) or (len(parts) == 14))
  return (parts[4], parts[8]) if len(parts) == 14 else (parts[4], parts[9])