<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def merge_line_scansion(self, line: str, scansion: str) -> str: """ Merge a line of verse with its scansion string. Do not accent dipthongs. :param line: the original Latin verse line :param scansion: the scansion pattern :return: the original line with the scansion pattern applied via macrons Ārma virūmque canō, Troiae quī prīmus ab ōrīs lītora, mūltum īlle ēt tērrīs iāctātus et ālto aut facere, haec ā tē dīctaque fāctaque sūnt """

        letters = list(line)
        marks = list(scansion)
        if len(scansion) < len(line):
            marks += ((len(line) - len(scansion)) * " ").split()
        for idx in range(0, len(marks)):
            if marks[idx] == self.constants.STRESSED:
                vowel = letters[idx]
                if vowel not in self.stress_accent_dict:
                    LOG.error("problem! vowel: {} not in dict for line {}".format(vowel, line))
                    pass
                else:
                    if idx > 1:
                        if (letters[idx -2] + letters[idx - 1]).lower() == "qu":
                            new_vowel = self.stress_accent_dict[vowel]
                            letters[idx] = new_vowel
                            continue
                    if idx > 0:
                        if letters[idx - 1] + vowel in self.constants.DIPTHONGS:
                            continue
                        new_vowel = self.stress_accent_dict[vowel]
                        letters[idx] = new_vowel
                    else:
                        new_vowel = self.stress_accent_dict[vowel]
                        letters[idx] = new_vowel
        return "".join(letters).rstrip()