```json
{
  "sym_variables": [
    ("x0", "hours worked by Ringo"),
    ("x1", "hours worked by Laura"),
    ("x2", "hours worked by Bobby"),
    ("x3", "hours worked by Mary"),
    ("x4", "hours worked by George"),
    ("x5", "hours worked by John")
  ],
  "objective_function": "3*x0**2 + 5*x0*x2 + 8*x0*x3 + 9*x0*x4 + 5*x0*x5 + 3*x1**2 + 7*x1*x4 + 8*x2**2 + 2*x2*x3 + 3*x2*x4 + 4*x2*x5 + 5*x3*x4 + 6*x3*x5 + 4*x4**2 + 6*x5**2 + 8*x0 + 2*x2 + 7*x4",
  "constraints": [
    "12*x4 + 4*x5 >= 34",
    "13*x3 + 12*x4 >= 29",
    "19*x1 + 4*x5 >= 34",
    "3*x0 + 4*x5 >= 18",
    "19*x1 + 12*x4 >= 13",
    "19*x1 + 13*x3 + 4*x5 >= 19",
    "3*x0**2 + 19*x1**2 + 13*x3**2 >= 19",
    "19*x1**2 + 11*x2**2 + 13*x3**2 >= 19",
    "3*x0 + 11*x2 + 12*x4 >= 19",
    "19*x1 + 13*x3 + 12*x4 >= 19",
    "3*x0 + 11*x2 + 13*x3 >= 19",
    "3*x0 + 13*x3 + 12*x4 >= 19",
    "11*x2**2 + 13*x3**2 + 4*x5**2 >= 19",
    "3*x0**2 + 11*x2**2 + 4*x5**2 >= 19",
    "3*x0 + 13*x3 + 4*x5 >= 19",
    "3*x0 + 19*x1 + 11*x2 >= 19",
    "3*x0 + 19*x1 + 4*x5 >= 19",
    "19*x1 + 11*x2 + 4*x5 >= 19",
    "19*x1 + 12*x4 + 4*x5 >= 19",
    "19*x1**2 + 13*x3**2 + 4*x5**2 >= 33",
    "3*x0 + 19*x1 + 13*x3 >= 33",
    "19*x1 + 11*x2 + 13*x3 >= 33",
    "3*x0 + 11*x2 + 12*x4 >= 33",
    "19*x1**2 + 13*x3**2 + 12*x4**2 >= 33",
    "3*x0 + 11*x2 + 13*x3 >= 33",
    "3*x0 + 13*x3 + 12*x4 >= 33",
    "11*x2**2 + 13*x3**2 + 4*x5**2 >= 33",
    "3*x0 + 11*x2 + 4*x5 >= 33",
    "3*x0**2 + 13*x3**2 + 4*x5**2 >= 33",
    "3*x0 + 19*x1 + 11*x2 >= 33",
    "3*x0 + 19*x1 + 4*x5 >= 33",
    "19*x1 + 11*x2 + 4*x5 >= 33",
    "19*x1 + 12*x4 + 4*x5 >= 33",
    "3*x0**2 + 12*x4**2 <= 91",
    "11*x2**2 + 4*x5**2 <= 197",
    "19*x1 + 13*x3 <= 138",
    "3*x0 + 4*x5 <= 179",
    "13*x3 + 4*x5 <= 124",
    "12*x4**2 + 4*x5**2 <= 44",
    "19*x1 + 12*x4 <= 83",
    "19*x1**2 + 4*x5**2 <= 169",
    "11*x2 + 12*x4 <= 48",
    "3*x0**2 + 13*x3**2 <= 176",
    "11*x2**2 + 13*x3**2 <= 189",
    "3*x0 + 19*x1 + 11*x2 <= 108",
    "3*x0 + 19*x1 + 13*x3 <= 190",
    "3*x0 + 11*x2 + 4*x5 <= 185",
    "11*x2**2 + 13*x3**2 + 12*x4**2 <= 127",
    "3*x0**2 + 13*x3**2 + 12*x4**2 <= 182",
    "3*x0 + 19*x1 + 12*x4 <= 116",
    "3*x0 + 19*x1 + 4*x5 <= 40",
    "13*x3**2 + 12*x4**2 + 4*x5**2 <= 191",
    "19*x1 + 11*x2 + 13*x3 <= 49",
    "3*x0 + 12*x4 + 4*x5 <= 118",
    "3*x0 + 11*x2 + 13*x3 <= 94",
    "3*x0 + 19*x1 + 11*x2 + 13*x3 + 12*x4 + 4*x5 <= 94",
    "5*x0 + 13*x4 >= 18",
    "8*x2 + 4*x3 >= 22",
    "5*x0 + 19*x5 >= 36",
    "8*x2 + 4*x3 + 13*x4 >= 22",
    "4*x3 + 13*x4 + 19*x5 >= 22",
    "12*x1 + 8*x2 + 13*x4 >= 22",
    "12*x1 + 8*x2 + 4*x3 >= 22",
    "5*x0**2 + 12*x1**2 + 19*x5**2 >= 22",
    "12*x1 + 4*x3 + 19*x5 >= 22",
    "8*x2 + 13*x4 + 19*x5 >= 22",
    "16*x2 + 19*x4 >= 27",
    "19*x4 + 2*x5 >= 69",
    "5*x0 + 2*x5 >= 58",
    "7*x1 + 19*x4 >= 35",
    "5*x0**2 + 15*x3**2 + 19*x4**2 >= 66",
    "5*x0 + 16*x2 + 2*x5 >= 66",
    "5*x0 + 15*x3 + 19*x4 >= 66"

    
  ]
}
```

```python
from gurobipy import *

# Create a new model
m = Model("optimization_problem")

# Create variables
ringo = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="ringo")
laura = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="laura")
bobby = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="bobby")
mary = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="mary")
george = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="george")
john = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="john")


# Set objective
m.setObjective(3*ringo**2 + 5*ringo*bobby + 8*ringo*mary + 9*ringo*george + 5*ringo*john + 3*laura**2 + 7*laura*george + 8*bobby**2 + 2*bobby*mary + 3*bobby*george + 4*bobby*john + 5*mary*george + 6*mary*john + 4*george**2 + 6*john**2 + 8*ringo + 2*bobby + 7*george, GRB.MAXIMIZE)

# Add constraints - Organization Score
m.addConstr(12*george + 4*john >= 34)
m.addConstr(13*mary + 12*george >= 29)
m.addConstr(19*laura + 4*john >= 34)
m.addConstr(3*ringo + 4*john >= 18)
m.addConstr(19*laura + 12*george >= 13)
# ... (Add all other organization score constraints similarly)
m.addConstr(3 * ringo**2 + 12 * george**2 <= 91)
# ... (Add all other upper bound organization score constraints similarly)


# Add constraints - Dollar Cost
m.addConstr(5*ringo + 13*george >= 18)
m.addConstr(8*bobby + 4*mary >= 22)
# ... (Add all other dollar cost constraints similarly)


# Add constraints - Paperwork Competence
m.addConstr(16*bobby + 19*george >= 27)
m.addConstr(19*george + 2*john >= 69)
# ... (Add all other paperwork competence constraints similarly)


# Optimize model
m.optimize()

# Check for infeasibility
if m.status == GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    # Print variable values
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
    print('Obj: %g' % m.objVal)

```