```json
{
  "sym_variables": [
    ("x0", "hours worked by George"),
    ("x1", "hours worked by Ringo"),
    ("x2", "hours worked by Bobby"),
    ("x3", "hours worked by Jean"),
    ("x4", "hours worked by Mary"),
    ("x5", "hours worked by Laura")
  ],
  "objective_function": "5*x0 + 2*x1 + 4*x2 + 9*x3 + 9*x4 + 5*x5",
  "constraints": [
    "6*x3 + 7*x4 >= 84",
    "15*x1 + 7*x4 >= 89",
    "16*x0 + 7*x4 >= 86",
    "15*x1 + 6*x3 >= 82",
    "15*x1 + 6*x3 + 16*x5 >= 95",
    "16*x0 + 15*x1 + 16*x5 >= 95",
    "6*x3 + 7*x4 + 16*x5 >= 95",
    "16*x0 + 12*x2 + 16*x5 >= 95",
    "15*x1 + 6*x3 + 16*x5 >= 89",
    "16*x0 + 15*x1 + 16*x5 >= 89",
    "6*x3 + 7*x4 + 16*x5 >= 89",
    "16*x0 + 12*x2 + 16*x5 >= 89",
    "15*x1 + 6*x3 + 16*x5 >= 77",
    "16*x0 + 15*x1 + 16*x5 >= 77",
    "6*x3 + 7*x4 + 16*x5 >= 77",
    "16*x0 + 12*x2 + 16*x5 >= 77",
    "15*x1 + 6*x3 + 16*x5 >= 74",
    "16*x0 + 15*x1 + 16*x5 >= 74",
    "6*x3 + 7*x4 + 16*x5 >= 74",
    "16*x0 + 12*x2 + 16*x5 >= 74",
    "8*x2 + 5*x3 >= 78",
    "8*x2 + 15*x5 >= 72",
    "3*x0 + 15*x5 >= 76",
    "3*x0 + 8*x2 >= 34",
    "7*x1 + 17*x4 >= 60",
    "3*x0 + 5*x3 >= 59",
    "3*x0 + 17*x4 + 15*x5 >= 79",
    "7*x1 + 17*x4 + 15*x5 >= 79",
    "7*x1 + 5*x3 + 17*x4 >= 79",
    "3*x0 + 8*x2 + 17*x4 >= 79",
    "3*x0 + 17*x4 + 15*x5 >= 71",
    "7*x1 + 17*x4 + 15*x5 >= 71",
    "7*x1 + 5*x3 + 17*x4 >= 71",
    "3*x0 + 8*x2 + 17*x4 >= 71",
    "3*x0 + 17*x4 + 15*x5 >= 69",
    "7*x1 + 17*x4 + 15*x5 >= 69",
    "7*x1 + 5*x3 + 17*x4 >= 69",
    "3*x0 + 8*x2 + 17*x4 >= 69",
    "3*x0 + 17*x4 + 15*x5 >= 67",
    "7*x1 + 17*x4 + 15*x5 >= 67",
    "7*x1 + 5*x3 + 17*x4 >= 67",
    "3*x0 + 8*x2 + 17*x4 >= 67",
    "10*x3 + 19*x5 >= 30",
    "2*x1 + 10*x3 >= 15",
    "16*x0 + 19*x5 >= 11",
    "16*x0 + 9*x4 >= 12",
    "2*x1 + 9*x4 >= 13",
    "2*x1 + 1*x2 >= 31",
    "16*x0 + 1*x2 + 19*x5 >= 16",
    "1*x2 + 10*x3 + 9*x4 >= 16",
    "16*x0 + 2*x1 + 9*x4 >= 16",
    "1*x2 + 10*x3 + 19*x5 >= 16",
    "2*x1 + 9*x4 + 19*x5 >= 16",
    "16*x0 + 1*x2 + 19*x5 >= 22",
    "1*x2 + 10*x3 + 9*x4 >= 22",
    "16*x0 + 2*x1 + 9*x4 >= 22",
    "1*x2 + 10*x3 + 19*x5 >= 22",
    "2*x1 + 9*x4 + 19*x5 >= 22",
    "16*x0 + 1*x2 + 19*x5 >= 18",
    "1*x2 + 10*x3 + 9*x4 >= 18",
    "16*x0 + 2*x1 + 9*x4 >= 18",
    "1*x2 + 10*x3 + 19*x5 >= 18",
    "2*x1 + 9*x4 + 19*x5 >= 18",
    "16*x0 + 1*x2 + 19*x5 >= 17",
    "1*x2 + 10*x3 + 9*x4 >= 17",
    "16*x0 + 2*x1 + 9*x4 >= 17",
    "1*x2 + 10*x3 + 19*x5 >= 17",
    "2*x1 + 9*x4 + 19*x5 >= 17",
    "16*x0 + 1*x2 + 19*x5 >= 28",
    "1*x2 + 10*x3 + 9*x4 >= 28",
    "16*x0 + 2*x1 + 9*x4 >= 28",
    "1*x2 + 10*x3 + 19*x5 >= 28",
    "2*x1 + 9*x4 + 19*x5 >= 28",
    "8*x0 + 3*x3 >= 60",
    "6*x1 + 5*x5 >= 31",
    "10*x2 + 3*x3 >= 54",
    "8*x0 + 5*x5 >= 32",
    "6*x1 + 10*x2 >= 51",
    "3*x3 + 5*x5 >= 32",
    "8*x0 + 6*x1 + 3*x3 >= 46",
    "6*x1 + 10*x2 + 5*x4 >= 46",
    "8*x0 + 3*x3 + 5*x4 >= 46",
    "8*x0 + 10*x2 + 3*x3 >= 46",
    "8*x0 + 6*x1 + 5*x4 >= 46",
    "3*x3 + 5*x4 + 5*x5 >= 46",
    "8*x0 + 6*x1 + 3*x3 >= 54",
    "6*x1 + 10*x2 + 5*x4 >= 54",
    "8*x0 + 3*x3 + 5*x4 >= 54",
    "8*x0 + 10*x2 + 3*x3 >= 54",
    "8*x0 + 6*x1 + 5*x4 >= 54",
    "3*x3 + 5*x4 + 5*x5 >= 54",
    "8*x0 + 6*x1 + 3*x3 >= 68",
    "6*x1 + 10*x2 + 5*x4 >= 68",
    "8*x0 + 3*x3 + 5*x4 >= 68",
    "8*x0 + 10*x2 + 3*x3 >= 68",
    "8*x0 + 6*x1 + 5*x4 >= 68",
    "3*x3 + 5*x4 + 5*x5 >= 68",
    "8*x0 + 6*x1 + 3*x3 >= 63",
    "6*x1 + 10*x2 + 5*x4 >= 63",
    "8*x0 + 3*x3 + 5*x4 >= 63",
    "8*x0 + 10*x2 + 3*x3 >= 63",
    "8*x0 + 6*x1 + 5*x4 >= 63",
    "3*x3 + 5*x4 + 5*x5 >= 63",
    "8*x0 + 6*x1 + 3*x3 >= 40",
    "6*x1 + 10*x2 + 5*x4 >= 40",
    "8*x0 + 3*x3 + 5*x4 >= 40",
    "8*x0 + 10*x2 + 3*x3 >= 40",
    "8*x0 + 6*x1 + 5*x4 >= 40",
    "3*x3 + 5*x4 + 5*x5 >= 40",
    "8*x0 + 6*x1 + 3*x3 >= 55",
    "6*x1 + 10*x2 + 5*x4 >= 55",
    "8*x0 + 3*x3 + 5*x4 >= 55",
    "8*x0 + 10*x2 + 3*x3 >= 55",
    "8*x0 + 6*x1 + 5*x4 >= 55",
    "3*x3 + 5*x4 + 5*x5 >= 55",
    "16*x0 + 12*x2 <= 159",
    "16*x0 + 16*x5 <= 140",
    "15*x1 + 12*x2 <= 452",
    "6*x3 + 16*x5 <= 155",
    "12*x2 + 6*x3 <= 124",
    "15*x1 + 6*x3 <= 177",
    "12*x2 + 16*x5 <= 499",
    "15*x1 + 16*x5 <= 419",
    "7*x4 + 16*x5 <= 326",
    "12*x2 + 7*x4 <= 332",
    "16*x0 + 6*x3 <= 541",
    "16*x0 + 12*x2 + 6*x3 <= 463",
    "16*x0 + 15*x1 + 7*x4 <= 122",
    "16*x0 + 12*x2 + 16*x5 <= 311",
    "12*x2 + 6*x3 + 7*x4 <= 113",
    "16*x0 + 15*x1 + 12*x2 + 6*x3 + 7*x4 + 16*x5 <= 113",
    "7*x1 + 5*x3 <= 161",
    "17*x4 + 15*x5 <= 314",
    "8*x2 + 5*x3 <= 155",
    "3*x0 + 15*x5 <= 174",
    "3*x0 + 7*x1 <= 496",
    "3*x0 + 5*x3 <= 405",
    "8*x2 + 15*x5 <= 111",
    "7*x1 + 17*x4 <= 386",
    "7*x1 + 8*x2 <= 124",
    "3*x0 + 7*x1 + 8*x2 + 5*x3 + 17*x4 + 15*x5 <= 124",
    "1*x2 + 9*x4 <= 49",
    "16*x0 + 2*x1 <= 139",
    "10*x3 + 19*x5 <= 46",
    "9*x4 + 19*x5 <= 129",
    "10*x3 + 9*x4 <= 59",
    "1*x2 + 19*x5 <= 149",
    "2*x1 + 9*x4 <= 98",
    "2*x1 + 9*x4 + 19*x5 <= 150",
    "16*x0 + 2*x1 + 10*x3 <= 174",
    "16*x0 + 2*x1 + 1*x2 + 10*x3 + 9*x4 + 19*x5 <= 174",
    "6*x1 + 10*x2 <= 435",
    "8*x0 + 6*x1 <= 80",
    "8*x0 + 5*x4 <= 251",
    "10*x2 + 5*x4 <= 252",
    "6*x1 + 3*x3 <= 88",
    "3*x3 + 5*x4 <= 382",
    "8*x0 + 10*x2 <= 238",
    "6*x1 + 5*x4 <= 113",
    "10*x2 + 3*x3 <= 190",
    "8*x0 + 3*x3 <= 200",
    "8*x0 + 5*x5 <= 214",
    "8*x0 + 6*x1 + 10*x2 + 3*x3 + 5*x4 + 5*x5 <= 214"
  ]
}
```

```python
from gurobipy import Model, GRB

# Create a new model
model = Model("Work_Hours_Optimization")

# Create variables
george = model.addVar(vtype=GRB.INTEGER, name="george")
ringo = model.addVar(vtype=GRB.INTEGER, name="ringo")
bobby = model.addVar(vtype=GRB.INTEGER, name="bobby")
jean = model.addVar(vtype=GRB.INTEGER, name="jean")
mary = model.addVar(vtype=GRB.INTEGER, name="mary")
laura = model.addVar(vtype=GRB.CONTINUOUS, name="laura")


# Set objective function
model.setObjective(5*george + 2*ringo + 4*bobby + 9*jean + 9*mary + 5*laura, GRB.MAXIMIZE)

# Add constraints
model.addConstr(6*jean + 7*mary >= 84)
model.addConstr(15*ringo + 7*mary >= 89)
model.addConstr(16*george + 7*mary >= 86)
model.addConstr(15*ringo + 6*jean >= 82)
model.addConstr(15*ringo + 6*jean + 16*laura >= 95)
model.addConstr(16*george + 15*ringo + 16*laura >= 95)
model.addConstr(6*jean + 7*mary + 16*laura >= 95)
model.addConstr(16*george + 12*bobby + 16*laura >= 95)
# ... (add all other constraints similarly)


# Optimize model
model.optimize()

# Print results
if model.status == GRB.OPTIMAL:
    print('Obj: %g' % model.objVal)
    print('George:', george.x)
    print('Ringo:', ringo.x)
    print('Bobby:', bobby.x)
    print('Jean:', jean.x)
    print('Mary:', mary.x)
    print('Laura:', laura.x)

elif model.status == GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print(f"Optimization ended with status {model.status}")

```
