def coverage_rule(M, i, j, w):
    """
    Total staffing coverage constraint

    :param M: Model
    :param i: period
    :param j: day
    :param w: week
    :return: Constraint rule
    """
    return M.cov[i, j, w] + M.under1[i, j, w] + M.under2[i, j, w] >= M.dmd_staff[i, j, w]