def METHOD_NAME(bands: List[str]) -> Tuple[str, str, str]:
    out = []
    for c in ("red", "green", "blue"):
        candidates = [name for name in bands if c in name]
        n = len(candidates)
        if n == 0:
            raise ValueError('Found no candidate for color "{}"'.format(c))
        if n > 1:
            raise ValueError('Found too many candidates for color "{}"'.format(c))
        out.append(candidates[0])
    r, g, b = out  # pylint:disable=unbalanced-tuple-unpacking
    return r, g, b