<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def l_constraint(model,name,constraints,*args):
 """A replacement for pyomo's Constraint that quickly builds linear constraints. Instead of call instead where constraints is a dictionary of constraints of the form: constraints[i] = LConstraint object OR using the soon-to-be-deprecated list format: i.e. the first argument is a list of tuples with the variables and their coefficients, the second argument is the sense string (must be one of "==","<=",">=","><") and the third argument is the constant term (a float). The sense "><" allows lower and upper bounds and requires `constant_term` to be a 2-tuple. Variables may be repeated with different coefficients, which pyomo will sum up. Parameters model : pyomo.environ.ConcreteModel name : string Name of constraints to be constructed constraints : dict A dictionary of constraints (see format above) *args : Indices of the constraints """


    setattr(model,name,Constraint(*args,noruleinit=True))
    v = getattr(model,name)
    for i in v._index:
        c = constraints[i]
        if type(c) is LConstraint:
            variables = c.lhs.variables + [(-item[0],item[1]) for item in c.rhs.variables]
            sense = c.sense
            constant = c.rhs.constant - c.lhs.constant
        else:
            variables = c[0]
            sense = c[1]
            constant = c[2]

        v._data[i] = pyomo.core.base.constraint._GeneralConstraintData(None,v)
        v._data[i]._body = _build_sum_expression(variables)

        if sense == "==":
            v._data[i]._equality = True
            v._data[i]._lower = pyomo.core.base.numvalue.NumericConstant(constant)
            v._data[i]._upper = pyomo.core.base.numvalue.NumericConstant(constant)
        elif sense == "<=":
            v._data[i]._equality = False
            v._data[i]._lower = None
            v._data[i]._upper = pyomo.core.base.numvalue.NumericConstant(constant)
        elif sense == ">=":
            v._data[i]._equality = False
            v._data[i]._lower = pyomo.core.base.numvalue.NumericConstant(constant)
            v._data[i]._upper = None
        elif sense == "><":
            v._data[i]._equality = False
            v._data[i]._lower = pyomo.core.base.numvalue.NumericConstant(constant[0])
            v._data[i]._upper = pyomo.core.base.numvalue.NumericConstant(constant[1])
        else: raise KeyError('`sense` must be one of "==","<=",">=","><"; got: {}'.format(sense))