## Problem Description and Formulation

The problem requires maximizing the objective function: \(7 \times \text{cafeteria chairs} + 8 \times \text{black pens} + 4 \times \text{usb flash drives}\).

Subject to the following constraints:

1. Sustainability score constraints:
   - The total combined sustainability score from cafeteria chairs and black pens must be at most 51.
   - The total combined sustainability score from cafeteria chairs, black pens, and usb flash drives must be at most 51.

2. Cost constraints:
   - The total cost of cafeteria chairs and usb flash drives must not exceed $35.
   - The total cost of black pens and usb flash drives must not exceed $67.
   - The total cost of cafeteria chairs, black pens, and usb flash drives must not exceed $67.

3. Resource constraints:
   - Cafeteria chairs have a sustainability score of 9 and cost $1 each.
   - Black pens have a sustainability score of 12 and cost $1 each.
   - USB flash drives have a sustainability score of 8 and cost $1 each.

4. Variable constraints:
   - The number of cafeteria chairs must be an integer.
   - The number of black pens must be an integer.
   - The number of usb flash drives must be an integer.

## Gurobi Code Formulation

```python
import gurobi

def solve_optimization_problem():
    # Create a new Gurobi model
    model = gurobi.Model()

    # Define variables
    cafeteria_chairs = model.addVar(name="cafeteria_chairs", vtype=gurobi.GRB.INTEGER)
    black_pens = model.addVar(name="black_pens", vtype=gurobi.GRB.INTEGER)
    usb_flash_drives = model.addVar(name="usb_flash_drives", vtype=gurobi.GRB.INTEGER)

    # Objective function
    model.setObjective(7 * cafeteria_chairs + 8 * black_pens + 4 * usb_flash_drives, gurobi.GRB.MAXIMIZE)

    # Constraints
    # Sustainability score for cafeteria chairs and black pens
    model.addConstr(9 * cafeteria_chairs + 12 * black_pens <= 51, name="sustainability_score_cc_bp")

    # Sustainability score for all items
    model.addConstr(9 * cafeteria_chairs + 12 * black_pens + 8 * usb_flash_drives <= 51, name="sustainability_score_all")

    # Cost constraint for cafeteria chairs and usb flash drives
    model.addConstr(cafeteria_chairs + usb_flash_drives <= 35, name="cost_cc_ufd")

    # Cost constraint for black pens and usb flash drives
    model.addConstr(black_pens + usb_flash_drives <= 67, name="cost_bp_ufd")

    # Cost constraint for all items
    model.addConstr(cafeteria_chairs + black_pens + usb_flash_drives <= 67, name="cost_all")

    # Non-negativity constraints (implicit for integer variables)

    # Solve the model
    model.optimize()

    # Print the solution
    if model.status == gurobi.GRB.OPTIMAL:
        print("Optimal solution found.")
        print(f"Cafeteria Chairs: {cafeteria_chairs.varValue}")
        print(f"Black Pens: {black_pens.varValue}")
        print(f"USB Flash Drives: {usb_flash_drives.varValue}")
        print(f"Objective: {model.objVal}")
    elif model.status == gurobi.GRB.INFEASIBLE:
        print("The model is infeasible.")
    else:
        print("The model has a non-optimal status.")

solve_optimization_problem()
```