class_docstr: The scansion symbols used can be configured by passing a suitable constants class to
  the constructor.
docstr: If a hexameter, hendecasyllables, or pentameter scansion starts with spondee,
  an unstressed syllable in the third position must actually be stressed,
  so we will convert it: - - | U    ->  - - | -
  
  :param scansion:
  :return:
  
  >>> print(VerseScanner().correct_invalid_start(
  ... " -   - U   U -  -  U U U U  U U  - -").strip())
  -   - -   - -  -  U U U U  U U  - -
docstr_tok: ["If","a","hexameter",",","hendecasyllables",",","or","pentameter","scansion","starts","with","spondee",",","an","unstressed","syllable","in","the","third","position","must","actually","be","stressed",",","so","we","will","convert","it",":","-","-","|","U","-",">","-","-","|","-",":","param","scansion",":",":","return",":",">",">",">","print","(","VerseScanner","(",")",".correct_invalid_start","(","...","``","-","-","U","U","-","-","U","U","U","U","U","U","-","-","''",")",".strip","(",")",")","-","-","-","-","-","-","U","U","U","U","U","U","-","-"]
code: def correct_invalid_start(self, scansion: str) -> str:
      """
      If a hexameter, hendecasyllables, or pentameter scansion starts with spondee,
      an unstressed syllable in the third position must actually be stressed,
      so we will convert it: - - | U    ->  - - | -
  
      :param scansion:
      :return:
  
      >>> print(VerseScanner().correct_invalid_start(
      ... " -   - U   U -  -  U U U U  U U  - -").strip())
      -   - -   - -  -  U U U U  U U  - -
      """
      mark_list = string_utils.mark_list(scansion)
      raw_scansion = scansion.replace(" ", "")
      if raw_scansion.startswith(
          self.constants.SPONDEE + self.constants.UNSTRESSED
      ):
          new_scansion = list(
              self.constants.SPONDEE
              + self.constants.SPONDEE
              + raw_scansion[4:]
          )
          corrected = "".join(new_scansion)
          new_sequence = list(" " * len(scansion))
          for idx, car in enumerate(corrected):
              new_sequence[mark_list[idx]] = car
          return "".join(new_sequence)
      return scansion
  
imports: import logging
  import re
  from typing import Any, Dict, List
  import cltk.prosody.lat.string_utils
  from cltk.prosody.lat.metrical_validator import MetricalValidator
  from cltk.prosody.lat.scansion_constants import ScansionConstants
  from cltk.prosody.lat.scansion_formatter import ScansionFormatter
  from cltk.prosody.lat.syllabifier import Syllabifier
  from cltk.prosody.lat.verse import Verse
label_desc: Use image node_id 10 for calling the VerseScanner obj's underlying member method code with example usage: obj.correct_invalid_start(scansion) and returns: scansion, str