def edat(dia1, mes1, any1, dia2, mes2, any2):
    e = any2 - any1
    if mes2 < mes1 or (mes2 == mes1 and dia2 < dia1):
        e -= 1
    return e


def completa_any(a, s):
    return (s - 1)*100 + a


def edat_21(dia1, mes1, any1, dia2, mes2, any2):
    if 0 <= any1 <= 99:
        any1 = completa_any(any1, 21)
    if 0 <= any2 <= 99:
        any2 = completa_any(any2, 21)
    return edat(dia1, mes1, any1, dia2, mes2, any2)


def compara_dates(dia1, mes1, any1, dia2, mes2, any2):
    if any1 < any2:
        r = -1
    elif any1 == any2:
        if mes1 < mes2:
            r = -1
        elif mes1 == mes2:
            if dia1 < dia2:
                r = -1
            elif dia1 == dia2:
                r = 0
            else:
                r = 1
        else:
            r = 1
    else:
        r = 1
    return r


def data_anterior(dia1, mes1, any1, dia2, mes2, any2):
    return compara_dates(dia1, mes1, any1, dia2, mes2, any2) < 0


def data_igual(dia1, mes1, any1, dia2, mes2, any2):
    return compara_dates(dia1, mes1, any1, dia2, mes2, any2) == 0


def data_posterior(dia1, mes1, any1, dia2, mes2, any2):
    return compara_dates(dia1, mes1, any1, dia2, mes2, any2) > 0
