broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(starters, bench, minutes, pos):
    xi = list(starters)
    used = set()
    def valid(team):
        c = {'DEF': 0, 'MID': 0, 'FWD': 0}
        for n in team:
            if pos[n] in c:
                c[pos[n]] += 1
        return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
    for i, s in enumerate(starters):
        if minutes[s] > 0:
            continue
        if pos[s] == 'GK':
            g = bench[0]
            if minutes[g] > 0:
                xi[i] = g
                used.add(g)
            continue
        for b in sorted(bench[1:], key=lambda b: -minutes[b]):
            if b in used or minutes[b] == 0:
                continue
            trial = xi[:i] + [b] + xi[i + 1:]
            if valid(trial):
                xi[i] = b
                used.add(b)
                break
    return xi
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 30,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 90,
     'gk2': 90,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 30,
     'def4': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 0,
     'mid0': 30,
     'mid1': 30,
     'mid2': 30},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 0,
     'def1': 90,
     'def2': 0,
     'def3': 30,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 30,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 0,
     'mid3': 30,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 1,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 90,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'def3': 30,
     'def4': 1,
     'fwd0': 1,
     'fwd1': 90,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 90,
     'b2': 1,
     'def0': 90,
     'def1': 0,
     'def2': 90,
     'def3': 1,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 30,
     'mid1': 1,
     'mid2': 1,
     'mid3': 90,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 1,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 90,
     'fwd2': 1,
     'gk1': 1,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 1,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 90,
     'gk1': 30,
     'gk2': 1,
     'mid0': 0,
     'mid1': 0,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 1,
     'fwd2': 0,
     'gk1': 0,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 90,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 1,
     'def4': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 90,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 1,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 90,
     'def2': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 90,
     'mid1': 0,
     'mid2': 30,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 90,
     'mid2': 0,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 90,
     'def2': 90,
     'def3': 0,
     'fwd0': 90,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 90,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'def3': 30,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 1,
     'mid0': 90,
     'mid1': 0,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 0,
     'def0': 90,
     'def1': 0,
     'def2': 0,
     'def3': 0,
     'fwd0': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 1,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 1,
     'fwd1': 0,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 90,
     'mid0': 30,
     'mid1': 1,
     'mid2': 0,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 90,
     'def0': 90,
     'def1': 1,
     'def2': 1,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 90},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 30,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'fwd0': 0,
     'fwd1': 0,
     'fwd2': 30,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 0,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 0,
     'mid2': 30,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 30,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 30,
     'def2': 90,
     'def3': 90,
     'fwd0': 1,
     'gk1': 90,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 30,
     'def0': 90,
     'def1': 30,
     'def2': 1,
     'def3': 1,
     'fwd0': 1,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 0,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 0,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 90,
     'def4': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'fwd0': 90,
     'fwd1': 30,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 1,
     'def1': 30,
     'def2': 30,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0,
     'mid4': 0},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(starters, bench, minutes, pos):
    xi = list(starters)
    used = set()
    def valid(team):
        c = {'DEF': 0, 'MID': 0, 'FWD': 0}
        for n in team:
            if pos[n] in c:
                c[pos[n]] += 1
        return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
    for i, s in enumerate(starters):
        if minutes[s] > 0:
            continue
        if pos[s] == 'GK':
            g = bench[0]
            if minutes[g] > 0:
                xi[i] = g
                used.add(g)
            continue
        for b in bench[:0:-1]:
            if b in used or minutes[b] == 0:
                continue
            trial = xi[:i] + [b] + xi[i + 1:]
            if valid(trial):
                xi[i] = b
                used.add(b)
                break
    return xi
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 30,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 90,
     'gk2': 90,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 30,
     'def4': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 0,
     'mid0': 30,
     'mid1': 30,
     'mid2': 30},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 0,
     'def1': 90,
     'def2': 0,
     'def3': 30,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 30,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 0,
     'mid3': 30,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 1,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 90,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'def3': 30,
     'def4': 1,
     'fwd0': 1,
     'fwd1': 90,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 90,
     'b2': 1,
     'def0': 90,
     'def1': 0,
     'def2': 90,
     'def3': 1,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 30,
     'mid1': 1,
     'mid2': 1,
     'mid3': 90,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 1,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 90,
     'fwd2': 1,
     'gk1': 1,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 1,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 90,
     'gk1': 30,
     'gk2': 1,
     'mid0': 0,
     'mid1': 0,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 1,
     'fwd2': 0,
     'gk1': 0,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 90,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 1,
     'def4': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 90,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 1,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 90,
     'def2': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 90,
     'mid1': 0,
     'mid2': 30,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 90,
     'mid2': 0,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 90,
     'def2': 90,
     'def3': 0,
     'fwd0': 90,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 90,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'def3': 30,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 1,
     'mid0': 90,
     'mid1': 0,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 0,
     'def0': 90,
     'def1': 0,
     'def2': 0,
     'def3': 0,
     'fwd0': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 1,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 1,
     'fwd1': 0,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 90,
     'mid0': 30,
     'mid1': 1,
     'mid2': 0,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 90,
     'def0': 90,
     'def1': 1,
     'def2': 1,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 90},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 30,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'fwd0': 0,
     'fwd1': 0,
     'fwd2': 30,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 0,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 0,
     'mid2': 30,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 30,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 30,
     'def2': 90,
     'def3': 90,
     'fwd0': 1,
     'gk1': 90,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 30,
     'def0': 90,
     'def1': 30,
     'def2': 1,
     'def3': 1,
     'fwd0': 1,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 0,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 0,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 90,
     'def4': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'fwd0': 90,
     'fwd1': 30,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 1,
     'def1': 30,
     'def2': 30,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0,
     'mid4': 0},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The manager's first bench choice is skipped for a player with more minutes.

Starters who played 0 minutes are replaced in starter order. A goalkeeper can only be replaced by the bench goalkeeper (bench[0]) and only if he played. An outfield starter is replaced by the first outfield bench player in bench order who played and is not already used, provided the XI with the candidate in place keeps at least 3 DEF, 2 MID and 1 FWD. Return the final XI in starter-slot order.

split: open-access