```json
{
  "sym_variables": [
    ("x0", "hours worked by Mary"),
    ("x1", "hours worked by Hank"),
    ("x2", "hours worked by George"),
    ("x3", "hours worked by John"),
    ("x4", "hours worked by Peggy")
  ],
  "objective_function": "5.89 * x0 + 7.14 * x1 + 7.41 * x2 + 9.4 * x3 + 6.98 * x4",
  "constraints": [
    "18 * x2 + 17 * x4 >= 24",
    "5 * x3 + 17 * x4 >= 30",
    "16 * x0 + 5 * x3 >= 13",
    "16 * x0 + 18 * x2 >= 24",
    "9 * x1 + 18 * x2 >= 36",
    "16 * x0 + 9 * x1 + 5 * x3 >= 19",
    "16 * x0 + 5 * x3 + 17 * x4 >= 19",
    "18 * x2 + 5 * x3 + 17 * x4 >= 19",
    "16 * x0 + 18 * x2 + 5 * x3 >= 19",
    "16 * x0 + 9 * x1 + 17 * x4 >= 19",
    "16 * x0 + 18 * x2 + 17 * x4 >= 19",
    "16 * x0 + 9 * x1 + 5 * x3 >= 27",
    "16 * x0 + 5 * x3 + 17 * x4 >= 27",
    "18 * x2 + 5 * x3 + 17 * x4 >= 27",
    "16 * x0 + 18 * x2 + 5 * x3 >= 27",
    "16 * x0 + 9 * x1 + 17 * x4 >= 27",
    "16 * x0 + 18 * x2 + 17 * x4 >= 27",
    "16 * x0 + 9 * x1 + 5 * x3 >= 29",
    "16 * x0 + 5 * x3 + 17 * x4 >= 29",
    "18 * x2 + 5 * x3 + 17 * x4 >= 29",
    "16 * x0 + 18 * x2 + 5 * x3 >= 29",
    "16 * x0 + 9 * x1 + 17 * x4 >= 29",
    "16 * x0 + 18 * x2 + 17 * x4 >= 29",
    "16 * x0 + 9 * x1 + 5 * x3 >= 20",
    "16 * x0 + 5 * x3 + 17 * x4 >= 20",
    "18 * x2 + 5 * x3 + 17 * x4 >= 20",
    "16 * x0 + 18 * x2 + 5 * x3 >= 20",
    "16 * x0 + 9 * x1 + 17 * x4 >= 20",
    "16 * x0 + 18 * x2 + 17 * x4 >= 20",
    "16 * x0 + 9 * x1 + 5 * x3 >= 22",
    "16 * x0 + 5 * x3 + 17 * x4 >= 22",
    "18 * x2 + 5 * x3 + 17 * x4 >= 22",
    "16 * x0 + 18 * x2 + 5 * x3 >= 22",
    "16 * x0 + 9 * x1 + 17 * x4 >= 22",
    "16 * x0 + 18 * x2 + 17 * x4 >= 22",
    "16 * x0 + 9 * x1 + 5 * x3 >= 24",
    "16 * x0 + 5 * x3 + 17 * x4 >= 24",
    "18 * x2 + 5 * x3 + 17 * x4 >= 24",
    "16 * x0 + 18 * x2 + 5 * x3 >= 24",
    "16 * x0 + 9 * x1 + 17 * x4 >= 24",
    "16 * x0 + 18 * x2 + 17 * x4 >= 24",
    "16 * x0 + 9 * x1 + 18 * x2 + 5 * x3 + 17 * x4 >= 24",
    "21 * x1 + 27 * x2 >= 71",
    "21 * x1 + 22 * x3 >= 35",
    "6 * x0 + 27 * x2 >= 44",
    "27 * x2 + 22 * x3 >= 87",
    "27 * x2 + 17 * x4 >= 41",
    "22 * x3 + 17 * x4 >= 64",
    "6 * x0 + 27 * x2 + 22 * x3 >= 69",
    "6 * x0 + 22 * x3 + 17 * x4 >= 69",
    "6 * x0 + 21 * x1 + 27 * x2 >= 69",
    "6 * x0 + 21 * x1 + 22 * x3 >= 69",
    "6 * x0 + 27 * x2 + 22 * x3 >= 80",
    "6 * x0 + 22 * x3 + 17 * x4 >= 80",
    "6 * x0 + 21 * x1 + 27 * x2 >= 80",
    "6 * x0 + 21 * x1 + 22 * x3 >= 80",
    "6 * x0 + 27 * x2 + 22 * x3 >= 74",
    "6 * x0 + 22 * x3 + 17 * x4 >= 74",
    "6 * x0 + 21 * x1 + 27 * x2 >= 74",
    "6 * x0 + 21 * x1 + 22 * x3 >= 74",
    "6 * x0 + 27 * x2 + 22 * x3 >= 47",
    "6 * x0 + 22 * x3 + 17 * x4 >= 47",
    "6 * x0 + 21 * x1 + 27 * x2 >= 47",
    "6 * x0 + 21 * x1 + 22 * x3 >= 47",
    "6 * x0 + 21 * x1 + 27 * x2 + 22 * x3 + 17 * x4 >= 47",
    "1 * x3 + 11 * x4 >= 42",
    "3 * x0 + 1 * x3 >= 45",
    "22 * x2 + 11 * x4 >= 52",
    "22 * x2 + 1 * x3 >= 47",
    "22 * x1 + 1 * x3 >= 53",
    "3 * x0 + 22 * x2 >= 29",
    "3 * x0 + 22 * x1 + 22 * x2 + 1 * x3 + 11 * x4 >= 29",
    "25 * x2 + 4 * x4 >= 39",
    "16 * x0 + 15 * x1 >= 26",
    "15 * x1 + 4 * x4 >= 27",
    "15 * x1 + 19 * x3 >= 32",
    "16 * x0 + 25 * x2 >= 47",
    "15 * x1 + 25 * x2 >= 37",
    "16 * x0 + 15 * x1 + 25 * x2 + 19 * x3 + 4 * x4 >= 37",
    "13 * x0 + 4 * x4 >= 38",
    "11 * x1 + 4 * x4 >= 59",
    "25 * x2 + 4 * x4 >= 28",
    "13 * x0 + 6 * x3 >= 54",
    "13 * x0 + 25 * x2 >= 24",
    "13 * x0 + 11 * x1 + 6 * x3 >= 62",
    "11 * x1 + 6 * x3 + 4 * x4 >= 62",
    "13 * x0 + 11 * x1 + 6 * x3 >= 57",
    "11 * x1 + 6 * x3 + 4 * x4 >= 57",
    "13 * x0 + 11 * x1 + 25 * x2 + 6 * x3 + 4 * x4 >= 57",
    "2 * x0 - 9 * x2 >= 0",
    "10 * x0 - 3 * x1 >= 0",
    "5 * x3 + 17 * x4 <= 48",
    "9 * x1 + 5 * x3 + 17 * x4 <= 135",
    "16 * x0 + 9 * x1 + 18 * x2 <= 63",
    "18 * x2 + 5 * x3 + 17 * x4 <= 181",
    "16 * x0 + 9 * x1 + 17 * x4 <= 92",
    "16 * x0 + 9 * x1 + 5 * x3 <= 95",
    "27 * x2 + 17 * x4 <= 353",
    "6 * x0 + 27 * x2 <= 357",
    "27 * x2 + 22 * x3 <= 408",
    "21 * x1 + 17 * x4 <= 309",
    "6 * x0 + 21 * x1 + 22 * x3 <= 349",
    "6 * x0 + 27 * x2 + 17 * x4 <= 317",
    "6 * x0 + 22 * x3 + 17 * x4 <= 124",
    "22 * x1 + 11 * x4 <= 82",
    "3 * x0 + 11 * x4 <= 205",
    "22 * x1 + 1 * x3 <= 73",
    "3 * x0 + 22 * x1 + 22 * x2 <= 92",
    "22 * x1 + 1 * x3 + 11 * x4 <= 66",
    "22 * x1 + 22 * x2 + 1 * x3 <= 62",
    "15 * x1 + 25 * x2 <= 306",
    "15 * x1 + 4 * x4 <= 226",
    "16 * x0 + 15 * x1 + 25 * x2 <= 170",
    "16 * x0 + 15 * x1 + 4 * x4 <= 196",
    "16 * x0 + 15 * x1 + 19 * x3 <= 256",
    "16 * x0 + 25 * x2 + 19 * x3 <= 277",
    "25 * x2 + 19 * x3 + 4 * x4 <= 185",
    "15 * x1 + 25 * x2 + 19 * x3 <= 98",
    "16 * x0 + 25 * x2 + 4 * x4 <= 73",
    "13 * x0 + 4 * x4 <= 137",
    "25 * x2 + 4 * x4 <= 280",
    "11 * x1 + 6 * x3 <= 117",
    "13 * x0 + 11 * x1 + 6 * x3 <= 273",
    "11 * x1 + 25 * x2 + 4 * x4 <= 175",
    "13 * x0 + 25 * x2 + 4 * x4 <= 233",
    "x3 == int",
    "x4 == int"

  ]
}
```

```python
import gurobipy as gp

# Create a new model
model = gp.Model("Minimize_Work_Hours")

# Create variables
mary = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="Mary")
hank = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="Hank")
george = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="George")
john = model.addVar(lb=0, vtype=gp.GRB.INTEGER, name="John")
peggy = model.addVar(lb=0, vtype=gp.GRB.INTEGER, name="Peggy")


# Set objective function
model.setObjective(5.89 * mary + 7.14 * hank + 7.41 * george + 9.4 * john + 6.98 * peggy, gp.GRB.MINIMIZE)

# Resource coefficients
paperwork_competence = [16, 9, 18, 5, 17]
organization_score = [6, 21, 27, 22, 17]
work_quality = [3, 22, 22, 1, 11]
computer_competence = [16, 15, 25, 19, 4]
productivity = [13, 11, 25, 6, 4]

variables = [mary, hank, george, john, peggy]

# Add constraints
model.addConstr(18 * george + 17 * peggy >= 24)
model.addConstr(5 * john + 17 * peggy >= 30)
model.addConstr(16 * mary + 5 * john >= 13)
model.addConstr(16 * mary + 18 * george >= 24)
model.addConstr(9 * hank + 18 * george >= 36)


# ... (rest of the constraints from the JSON "constraints" section)

model.addConstr(2 * mary - 9 * george >= 0)
model.addConstr(10 * mary - 3 * hank >= 0)

# ... (rest of the constraints from the JSON "constraints" section)


# Optimize model
model.optimize()

# Print results
if model.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % model.objVal)
    for v in model.getVars():
        print('%s %g' % (v.varName, v.x))
elif model.status == gp.GRB.INFEASIBLE:
    print("Model is infeasible")
else:
    print("Optimization ended with status %d" % model.status)

```