def parse_data(data: str) -> list:
    """
    Takes a data input string, splits and returns the components.

    Example:
    Input: "1-3 a: abcde"
    Output: [1, 3, "a", "abcde"}
    """
    reqs, text = [i.strip() for i in data.split(":")]
    req_occurances, req_letter = reqs.split()
    req_low, req_high = req_occurances.split("-")

    return [
        int(req_low),
        int(req_high),
        req_letter,
        text,
    ]