import re


def checkio(data):
    """
    ^ - not necessary with match(). The start of the string.
    (?=.*[0-9]) - at least one digit exists.
    (?=.*[A-Z]) - at least one upper case letter exists.
    (?=.*[a-z]) - at least one upper case lower exists.
    (?=\\w{10}) - the length is minimum 10.
    \\w+ - apply to the entire string and to the only ASCII characters
    $ - the end of the string.
    flags=re.A - is necessary for ASCII checking.    
    """
    return bool(re.match(r"^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=\w{10})\w+$", data, flags=re.A))