def clean_state(state):
    """ Upper cases the state and fixes a few weird issues.
    """

    new_state = state.upper() if state else None
    # NF -> NL for Newfoundland and Labrador.
    if new_state == "NF":
        new_state = "NL"
    # PQ -> QC for Quebec.
    if new_state == "PQ":
        new_state = "QC"
    # SA -> SK for Sasketchewan.
    if new_state == "SA":
        new_state = "SK"
    # YK -> YT for Yukon Territory.
    if new_state == "YK":
        new_state = "YT"

    return new_state