def processa_linia(linia,mi,mf,t):
    linia = linia.strip()
    ll = linia.split(' ; ')
    tipus,dist,durada,data,bici = ll
    dia, mes = data.split('/')
    mes = int(mes)
    durada = int(durada)
    if tipus == t and mi<=mes<=mf:
        if durada < 15:
            cat = 'curt'
        elif 15 <= durada <= 30:
            cat = 'mig'
        elif durada > 30:
            cat = 'llarg'
        return dist, bici, cat
    else:
        return ()
                    
def selecciona(fdades,fsort,mi,mf,t):
    with open(fdades,'r') as f, open(fsort,'w') as g:
        for linia in f:
            tupla = processa_linia(linia,mi,mf,t)
            if len(tupla) != 0:
                dist, bici, cat = tupla
                s = ','.join([dist,bici,cat])
                g.write(s + '\n')

                    
