from datetime import datetime

def leer_fecha_nacimiento():
    """
    Solicita al usuario que introduzca una fecha de nacimiento por teclado.
    Returns:
        Tres enteros: dia, mes, anio
    """
    print("Fecha de nacimiento")
    dia = int(input("Introducir día: "))
    mes = int(input("Introducir mes: "))
    anio = int(input("Introduce año: "))
    return dia, mes, anio

def calcular_edad(dia_fn, mes_fn, anio_fn):
    """
    Calcula la edad en años a partir de una fecha de nacimiento.
    Args:
        dia_fn (int): Día de nacimiento
        mes_fn (int): Mes de nacimiento
        anio_fn (int): Año de nacimiento
    Returns:
        int: Edad en años cumplidos
    """
    ahora = datetime.now()
    edad = ahora.year - anio_fn
    if mes_fn > ahora.month or (mes_fn == ahora.month and dia_fn > ahora.day):
        edad -= 1
    return edad

def mostrar_resultado(edad):
    """
    Muestra por pantalla si la persona es mayor o menor de edad.
    Args:
        edad (int): Edad en años cumplidos
    """
    if edad >= 18:
        print(f"Es mayor de edad ({edad} años)")
    else:
        print(f"Es menor de edad ({edad} años)")

# Programa principal
dia_fn, mes_fn, anio_fn = leer_fecha_nacimiento()
edad = calcular_edad(dia_fn, mes_fn, anio_fn)
mostrar_resultado(edad)