<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def choose_candidate_pair(candidates):
 """ Choose a pair of address candidates ensuring they have the same length and starting with the highest scored ones :type candidates: dict[str, int] :param candidates: Count how often the longest common substrings appeared in the messages :return: """

        highscored = sorted(candidates, key=candidates.get, reverse=True)
        for i, h_i in enumerate(highscored):
            for h_j in highscored[i+1:]:
                if len(h_i) == len(h_j):
                    yield (h_i, h_j)