{"abstract":"A repeated row creates a self-conflict and double counts the student's pairs.","category":"Exam timetabling constraints","checks":8,"contract":"enrol rows [student, exam] (may repeat). For every unordered pair of distinct exams (a < b) count the students enrolled in both. Return [a, b, count] rows sorted, omitting zero counts.","evaluation_group":"w2-exam-timetabling-constraints-conflict-matrix","failed_approach":"Skipping self pairs still double counts the duplicated exam's other pairs.","family":"w2-exam-timetabling-constraints-conflict-matrix-distinct-enrolments","id":"FA-94681","implementations":{"attempt":{"sha256":"c4283c24e32fe7267a32ced992bb8823986bd4fc080683a5831abecbafb48ebf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(enrol):\n    by = {}\n    for st, ex in enrol:\n        by.setdefault(st, []).append(ex)\n    cnt = {}\n    for st in by:\n        exs = sorted(by[st])\n        for i in range(len(exs)):\n            for j in range(i + 1, len(exs)):\n                if exs[i] == exs[j]:\n                    continue\n                k = (exs[i], exs[j])\n                cnt[k] = cnt.get(k, 0) + 1\n    return [[a, b, n] for (a, b), n in sorted(cnt.items())]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: distinct enrolments 1', [[['s1', 'A'], ['s1', 'A'], ['s1', 'B']]], [['A', 'B', 1]]),\n  ('regression variant: distinct enrolments 2', [[['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'HIST140']]],\n   [['HIST140', 'MATH101', 1]]),\n  ('partial repair guard 3',\n   [[['s3', 'ECON150'], ['s3', 'HIST140'], ['s3', 'HIST140'], ['s3', 'PHYS110'], ['s3', 'MATH101H']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s4', 'CHEM120'], ['s1', 'MATH101'], ['s1', 'ECON150'], ['s4', 'BIO130'], ['s3', 'PHYS110'],\n     ['s4', 'MATH101H'], ['s4', 'HIST140'], ['s1', 'HIST140']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 7', [[['s1', 'CHEM120'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s5', 'ECON150'], ['s4', 'MATH101H'], ['s4', 'ECON150'], ['s5', 'MATH101'], ['s3', 'MATH101H'],\n     ['s4', 'HIST140']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'MATH101H', 1],\n    ['HIST140', 'MATH101H', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'MATH101H'], ['s2', 'MATH101'], ['s3', 'HIST140'], ['s2', 'MATH101'], ['s3', 'MATH101H']]],\n   [['HIST140', 'MATH101H', 1], ['MATH101', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s3', 'MATH101H'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'PHYS110'], ['s3', 'CHEM120']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('partial repair guard 3', [[['s4', 'MATH101H'], ['s4', 'HIST140'], ['s4', 'PHYS110'], ['s4', 'HIST140']]],\n   [['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6', [[['s2', 'CHEM120'], ['s2', 'ECON150'], ['s2', 'MATH101']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'MATH101', 1], ['ECON150', 'MATH101', 1]]),\n  ('normal control 7',\n   [[['s5', 'HIST140'], ['s5', 'CHEM120'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s5', 'BIO130']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 8', [[['s5', 'CHEM120'], ['s5', 'CHEM120']]], [])],\n [('regression: distinct enrolments 1',\n   [[['s4', 'MATH101H'], ['s1', 'MATH101'], ['s4', 'CHEM120'], ['s4', 'CHEM120']]],\n   [['CHEM120', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'ECON150'], ['s1', 'MATH101'], ['s1', 'HIST140'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s2', 'CHEM120'], ['s1', 'CHEM120'], ['s5', 'CHEM120'], ['s3', 'ECON150'], ['s3', 'PHYS110'],\n     ['s3', 'HIST140'], ['s1', 'MATH101H'], ['s2', 'MATH101H'], ['s1', 'CHEM120'], ['s2', 'ECON150'],\n     ['s1', 'PHYS110'], ['s1', 'HIST140'], ['s3', 'MATH101H']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 2],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2],\n    ['MATH101H', 'PHYS110', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s5', 'MATH101H'], ['s2', 'MATH101'], ['s2', 'ECON150'], ['s1', 'MATH101'], ['s4', 'MATH101H'],\n     ['s3', 'HIST140'], ['s3', 'PHYS110']]],\n   [['ECON150', 'MATH101', 1], ['HIST140', 'PHYS110', 1]]),\n  ('normal control 7',\n   [[['s3', 'CHEM120'], ['s3', 'PHYS110'], ['s3', 'MATH101'], ['s5', 'CHEM120'], ['s5', 'ECON150'],\n     ['s2', 'CHEM120'], ['s4', 'BIO130'], ['s4', 'PHYS110'], ['s3', 'HIST140'], ['s4', 'HIST140'],\n     ['s5', 'PHYS110']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 2], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8', [[['s5', 'BIO130'], ['s2', 'BIO130'], ['s5', 'MATH101H'], ['s5', 'PHYS110']]],\n   [['BIO130', 'MATH101H', 1], ['BIO130', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s5', 'HIST140'], ['s3', 'MATH101H'], ['s1', 'MATH101H'], ['s5', 'ECON150'], ['s3', 'HIST140'],\n     ['s3', 'BIO130'], ['s3', 'ECON150'], ['s3', 'ECON150']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['ECON150', 'HIST140', 2],\n    ['ECON150', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'BIO130'], ['s1', 'BIO130'], ['s3', 'BIO130'], ['s3', 'HIST140'], ['s4', 'MATH101'],\n     ['s1', 'ECON150'], ['s4', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'ECON150'], ['s3', 'PHYS110']]],\n   [['BIO130', 'ECON150', 2], ['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s2', 'MATH101H'],\n     ['s3', 'BIO130'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H'], ['s4', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101'], ['s5', 'MATH101H'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s3', 'HIST140'],\n     ['s5', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101', 1],\n    ['MATH101', 'MATH101H', 1]]),\n  ('normal control 7',\n   [[['s3', 'ECON150'], ['s1', 'CHEM120'], ['s3', 'HIST140'], ['s1', 'BIO130'], ['s3', 'CHEM120'],\n     ['s3', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1],\n    ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1],\n    ['MATH101H', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s4', 'BIO130'], ['s2', 'MATH101H'], ['s4', 'ECON150'], ['s2', 'HIST140'], ['s3', 'ECON150'],\n     ['s3', 'PHYS110'], ['s3', 'CHEM120'], ['s4', 'CHEM120'], ['s3', 'MATH101H'], ['s3', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'PHYS110'], ['s3', 'HIST140'], ['s3', 'MATH101'], ['s5', 'ECON150'], ['s5', 'HIST140'],\n     ['s5', 'CHEM120'], ['s3', 'PHYS110'], ['s2', 'BIO130'], ['s3', 'MATH101'], ['s4', 'CHEM120'],\n     ['s2', 'HIST140']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2],\n    ['MATH101', 'PHYS110', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s4', 'MATH101'], ['s3', 'MATH101H'], ['s3', 'CHEM120'], ['s4', 'MATH101H'], ['s1', 'MATH101'],\n     ['s2', 'ECON150'], ['s4', 'ECON150'], ['s5', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'BIO130'],\n     ['s5', 'ECON150'], ['s5', 'MATH101'], ['s5', 'CHEM120'], ['s1', 'CHEM120'], ['s4', 'CHEM120'],\n     ['s1', 'PHYS110']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 2], ['BIO130', 'PHYS110', 1],\n    ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101', 3], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101', 2], ['ECON150', 'MATH101H', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'HIST140'], ['s5', 'MATH101H'], ['s3', 'CHEM120'], ['s1', 'MATH101H'], ['s1', 'CHEM120'],\n     ['s3', 'ECON150'], ['s4', 'MATH101H'], ['s3', 'MATH101'], ['s1', 'ECON150'], ['s5', 'HIST140'],\n     ['s4', 'ECON150'], ['s5', 'ECON150'], ['s2', 'PHYS110'], ['s5', 'ECON150']]],\n   [['CHEM120', 'ECON150', 2], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 2], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'MATH101H', 3], ['HIST140', 'MATH101H', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101H'], ['s3', 'PHYS110'], ['s4', 'BIO130'], ['s5', 'MATH101'], ['s2', 'HIST140'],\n     ['s1', 'MATH101H'], ['s1', 'HIST140'], ['s4', 'HIST140'], ['s5', 'MATH101H'], ['s2', 'BIO130'],\n     ['s5', 'PHYS110'], ['s2', 'MATH101'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s4', 'ECON150'],\n     ['s5', 'HIST140'], ['s3', 'CHEM120']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 2], ['BIO130', 'MATH101', 1], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 2],\n    ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2], ['MATH101', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 3]]),\n  ('normal control 7',\n   [[['s4', 'BIO130'], ['s4', 'ECON150'], ['s4', 'PHYS110'], ['s2', 'MATH101H'], ['s2', 'HIST140'],\n     ['s3', 'BIO130'], ['s4', 'MATH101'], ['s3', 'HIST140'], ['s3', 'HIST140']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101', 1], ['BIO130', 'PHYS110', 1],\n    ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s3', 'CHEM120'], ['s4', 'BIO130'], ['s3', 'PHYS110'], ['s1', 'BIO130'], ['s1', 'MATH101H'],\n     ['s3', 'MATH101'], ['s4', 'HIST140'], ['s3', 'MATH101']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'PHYS110', 1]])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"deac37fdb55f1c1fc5e29ce9d7127eba5a14a49758d8e5c94cb7cf5f3ac7edf2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(enrol):\n    by = {}\n    for st, ex in enrol:\n        by.setdefault(st, []).append(ex)\n    cnt = {}\n    for st in by:\n        exs = sorted(by[st])\n        for i in range(len(exs)):\n            for j in range(i + 1, len(exs)):\n                k = (exs[i], exs[j])\n                cnt[k] = cnt.get(k, 0) + 1\n    return [[a, b, n] for (a, b), n in sorted(cnt.items())]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: distinct enrolments 1', [[['s1', 'A'], ['s1', 'A'], ['s1', 'B']]], [['A', 'B', 1]]),\n  ('regression variant: distinct enrolments 2', [[['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'HIST140']]],\n   [['HIST140', 'MATH101', 1]]),\n  ('partial repair guard 3',\n   [[['s3', 'ECON150'], ['s3', 'HIST140'], ['s3', 'HIST140'], ['s3', 'PHYS110'], ['s3', 'MATH101H']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s4', 'CHEM120'], ['s1', 'MATH101'], ['s1', 'ECON150'], ['s4', 'BIO130'], ['s3', 'PHYS110'],\n     ['s4', 'MATH101H'], ['s4', 'HIST140'], ['s1', 'HIST140']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 7', [[['s1', 'CHEM120'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s5', 'ECON150'], ['s4', 'MATH101H'], ['s4', 'ECON150'], ['s5', 'MATH101'], ['s3', 'MATH101H'],\n     ['s4', 'HIST140']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'MATH101H', 1],\n    ['HIST140', 'MATH101H', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'MATH101H'], ['s2', 'MATH101'], ['s3', 'HIST140'], ['s2', 'MATH101'], ['s3', 'MATH101H']]],\n   [['HIST140', 'MATH101H', 1], ['MATH101', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s3', 'MATH101H'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'PHYS110'], ['s3', 'CHEM120']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('partial repair guard 3', [[['s4', 'MATH101H'], ['s4', 'HIST140'], ['s4', 'PHYS110'], ['s4', 'HIST140']]],\n   [['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6', [[['s2', 'CHEM120'], ['s2', 'ECON150'], ['s2', 'MATH101']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'MATH101', 1], ['ECON150', 'MATH101', 1]]),\n  ('normal control 7',\n   [[['s5', 'HIST140'], ['s5', 'CHEM120'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s5', 'BIO130']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 8', [[['s5', 'CHEM120'], ['s5', 'CHEM120']]], [])],\n [('regression: distinct enrolments 1',\n   [[['s4', 'MATH101H'], ['s1', 'MATH101'], ['s4', 'CHEM120'], ['s4', 'CHEM120']]],\n   [['CHEM120', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'ECON150'], ['s1', 'MATH101'], ['s1', 'HIST140'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s2', 'CHEM120'], ['s1', 'CHEM120'], ['s5', 'CHEM120'], ['s3', 'ECON150'], ['s3', 'PHYS110'],\n     ['s3', 'HIST140'], ['s1', 'MATH101H'], ['s2', 'MATH101H'], ['s1', 'CHEM120'], ['s2', 'ECON150'],\n     ['s1', 'PHYS110'], ['s1', 'HIST140'], ['s3', 'MATH101H']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 2],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2],\n    ['MATH101H', 'PHYS110', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s5', 'MATH101H'], ['s2', 'MATH101'], ['s2', 'ECON150'], ['s1', 'MATH101'], ['s4', 'MATH101H'],\n     ['s3', 'HIST140'], ['s3', 'PHYS110']]],\n   [['ECON150', 'MATH101', 1], ['HIST140', 'PHYS110', 1]]),\n  ('normal control 7',\n   [[['s3', 'CHEM120'], ['s3', 'PHYS110'], ['s3', 'MATH101'], ['s5', 'CHEM120'], ['s5', 'ECON150'],\n     ['s2', 'CHEM120'], ['s4', 'BIO130'], ['s4', 'PHYS110'], ['s3', 'HIST140'], ['s4', 'HIST140'],\n     ['s5', 'PHYS110']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 2], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8', [[['s5', 'BIO130'], ['s2', 'BIO130'], ['s5', 'MATH101H'], ['s5', 'PHYS110']]],\n   [['BIO130', 'MATH101H', 1], ['BIO130', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s5', 'HIST140'], ['s3', 'MATH101H'], ['s1', 'MATH101H'], ['s5', 'ECON150'], ['s3', 'HIST140'],\n     ['s3', 'BIO130'], ['s3', 'ECON150'], ['s3', 'ECON150']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['ECON150', 'HIST140', 2],\n    ['ECON150', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'BIO130'], ['s1', 'BIO130'], ['s3', 'BIO130'], ['s3', 'HIST140'], ['s4', 'MATH101'],\n     ['s1', 'ECON150'], ['s4', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'ECON150'], ['s3', 'PHYS110']]],\n   [['BIO130', 'ECON150', 2], ['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s2', 'MATH101H'],\n     ['s3', 'BIO130'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H'], ['s4', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101'], ['s5', 'MATH101H'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s3', 'HIST140'],\n     ['s5', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101', 1],\n    ['MATH101', 'MATH101H', 1]]),\n  ('normal control 7',\n   [[['s3', 'ECON150'], ['s1', 'CHEM120'], ['s3', 'HIST140'], ['s1', 'BIO130'], ['s3', 'CHEM120'],\n     ['s3', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1],\n    ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1],\n    ['MATH101H', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s4', 'BIO130'], ['s2', 'MATH101H'], ['s4', 'ECON150'], ['s2', 'HIST140'], ['s3', 'ECON150'],\n     ['s3', 'PHYS110'], ['s3', 'CHEM120'], ['s4', 'CHEM120'], ['s3', 'MATH101H'], ['s3', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'PHYS110'], ['s3', 'HIST140'], ['s3', 'MATH101'], ['s5', 'ECON150'], ['s5', 'HIST140'],\n     ['s5', 'CHEM120'], ['s3', 'PHYS110'], ['s2', 'BIO130'], ['s3', 'MATH101'], ['s4', 'CHEM120'],\n     ['s2', 'HIST140']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2],\n    ['MATH101', 'PHYS110', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s4', 'MATH101'], ['s3', 'MATH101H'], ['s3', 'CHEM120'], ['s4', 'MATH101H'], ['s1', 'MATH101'],\n     ['s2', 'ECON150'], ['s4', 'ECON150'], ['s5', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'BIO130'],\n     ['s5', 'ECON150'], ['s5', 'MATH101'], ['s5', 'CHEM120'], ['s1', 'CHEM120'], ['s4', 'CHEM120'],\n     ['s1', 'PHYS110']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 2], ['BIO130', 'PHYS110', 1],\n    ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101', 3], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101', 2], ['ECON150', 'MATH101H', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'HIST140'], ['s5', 'MATH101H'], ['s3', 'CHEM120'], ['s1', 'MATH101H'], ['s1', 'CHEM120'],\n     ['s3', 'ECON150'], ['s4', 'MATH101H'], ['s3', 'MATH101'], ['s1', 'ECON150'], ['s5', 'HIST140'],\n     ['s4', 'ECON150'], ['s5', 'ECON150'], ['s2', 'PHYS110'], ['s5', 'ECON150']]],\n   [['CHEM120', 'ECON150', 2], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 2], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'MATH101H', 3], ['HIST140', 'MATH101H', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101H'], ['s3', 'PHYS110'], ['s4', 'BIO130'], ['s5', 'MATH101'], ['s2', 'HIST140'],\n     ['s1', 'MATH101H'], ['s1', 'HIST140'], ['s4', 'HIST140'], ['s5', 'MATH101H'], ['s2', 'BIO130'],\n     ['s5', 'PHYS110'], ['s2', 'MATH101'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s4', 'ECON150'],\n     ['s5', 'HIST140'], ['s3', 'CHEM120']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 2], ['BIO130', 'MATH101', 1], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 2],\n    ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2], ['MATH101', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 3]]),\n  ('normal control 7',\n   [[['s4', 'BIO130'], ['s4', 'ECON150'], ['s4', 'PHYS110'], ['s2', 'MATH101H'], ['s2', 'HIST140'],\n     ['s3', 'BIO130'], ['s4', 'MATH101'], ['s3', 'HIST140'], ['s3', 'HIST140']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101', 1], ['BIO130', 'PHYS110', 1],\n    ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s3', 'CHEM120'], ['s4', 'BIO130'], ['s3', 'PHYS110'], ['s1', 'BIO130'], ['s1', 'MATH101H'],\n     ['s3', 'MATH101'], ['s4', 'HIST140'], ['s3', 'MATH101']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'PHYS110', 1]])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"498b085b250b27ecc37a654a88e1ae83bfcb17e8013df541af6c82718eb2841a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(enrol):\n    by = {}\n    for st, ex in enrol:\n        by.setdefault(st, set()).add(ex)\n    cnt = {}\n    for st in by:\n        exs = sorted(by[st])\n        for i in range(len(exs)):\n            for j in range(i + 1, len(exs)):\n                k = (exs[i], exs[j])\n                cnt[k] = cnt.get(k, 0) + 1\n    return [[a, b, n] for (a, b), n in sorted(cnt.items())]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: distinct enrolments 1', [[['s1', 'A'], ['s1', 'A'], ['s1', 'B']]], [['A', 'B', 1]]),\n  ('regression variant: distinct enrolments 2', [[['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'HIST140']]],\n   [['HIST140', 'MATH101', 1]]),\n  ('partial repair guard 3',\n   [[['s3', 'ECON150'], ['s3', 'HIST140'], ['s3', 'HIST140'], ['s3', 'PHYS110'], ['s3', 'MATH101H']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s4', 'CHEM120'], ['s1', 'MATH101'], ['s1', 'ECON150'], ['s4', 'BIO130'], ['s3', 'PHYS110'],\n     ['s4', 'MATH101H'], ['s4', 'HIST140'], ['s1', 'HIST140']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 7', [[['s1', 'CHEM120'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s5', 'ECON150'], ['s4', 'MATH101H'], ['s4', 'ECON150'], ['s5', 'MATH101'], ['s3', 'MATH101H'],\n     ['s4', 'HIST140']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'MATH101H', 1],\n    ['HIST140', 'MATH101H', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'MATH101H'], ['s2', 'MATH101'], ['s3', 'HIST140'], ['s2', 'MATH101'], ['s3', 'MATH101H']]],\n   [['HIST140', 'MATH101H', 1], ['MATH101', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s3', 'MATH101H'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s3', 'PHYS110'], ['s3', 'CHEM120']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('partial repair guard 3', [[['s4', 'MATH101H'], ['s4', 'HIST140'], ['s4', 'PHYS110'], ['s4', 'HIST140']]],\n   [['HIST140', 'MATH101H', 1], ['HIST140', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6', [[['s2', 'CHEM120'], ['s2', 'ECON150'], ['s2', 'MATH101']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'MATH101', 1], ['ECON150', 'MATH101', 1]]),\n  ('normal control 7',\n   [[['s5', 'HIST140'], ['s5', 'CHEM120'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s5', 'BIO130']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('normal control 8', [[['s5', 'CHEM120'], ['s5', 'CHEM120']]], [])],\n [('regression: distinct enrolments 1',\n   [[['s4', 'MATH101H'], ['s1', 'MATH101'], ['s4', 'CHEM120'], ['s4', 'CHEM120']]],\n   [['CHEM120', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'ECON150'], ['s1', 'MATH101'], ['s1', 'HIST140'], ['s1', 'PHYS110'], ['s1', 'MATH101']]],\n   [['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s2', 'CHEM120'], ['s1', 'CHEM120'], ['s5', 'CHEM120'], ['s3', 'ECON150'], ['s3', 'PHYS110'],\n     ['s3', 'HIST140'], ['s1', 'MATH101H'], ['s2', 'MATH101H'], ['s1', 'CHEM120'], ['s2', 'ECON150'],\n     ['s1', 'PHYS110'], ['s1', 'HIST140'], ['s3', 'MATH101H']]],\n   [['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101H', 2],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2],\n    ['MATH101H', 'PHYS110', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s5', 'MATH101H'], ['s2', 'MATH101'], ['s2', 'ECON150'], ['s1', 'MATH101'], ['s4', 'MATH101H'],\n     ['s3', 'HIST140'], ['s3', 'PHYS110']]],\n   [['ECON150', 'MATH101', 1], ['HIST140', 'PHYS110', 1]]),\n  ('normal control 7',\n   [[['s3', 'CHEM120'], ['s3', 'PHYS110'], ['s3', 'MATH101'], ['s5', 'CHEM120'], ['s5', 'ECON150'],\n     ['s2', 'CHEM120'], ['s4', 'BIO130'], ['s4', 'PHYS110'], ['s3', 'HIST140'], ['s4', 'HIST140'],\n     ['s5', 'PHYS110']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 2], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2], ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8', [[['s5', 'BIO130'], ['s2', 'BIO130'], ['s5', 'MATH101H'], ['s5', 'PHYS110']]],\n   [['BIO130', 'MATH101H', 1], ['BIO130', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s5', 'HIST140'], ['s3', 'MATH101H'], ['s1', 'MATH101H'], ['s5', 'ECON150'], ['s3', 'HIST140'],\n     ['s3', 'BIO130'], ['s3', 'ECON150'], ['s3', 'ECON150']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['ECON150', 'HIST140', 2],\n    ['ECON150', 'MATH101H', 1], ['HIST140', 'MATH101H', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s1', 'BIO130'], ['s1', 'BIO130'], ['s3', 'BIO130'], ['s3', 'HIST140'], ['s4', 'MATH101'],\n     ['s1', 'ECON150'], ['s4', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'ECON150'], ['s3', 'PHYS110']]],\n   [['BIO130', 'ECON150', 2], ['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101', 1], ['ECON150', 'HIST140', 1], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'PHYS110', 1], ['HIST140', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'CHEM120'], ['s4', 'ECON150'], ['s3', 'MATH101'], ['s3', 'MATH101'], ['s2', 'MATH101H'],\n     ['s3', 'BIO130'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H'], ['s4', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 1], ['CHEM120', 'ECON150', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['MATH101H', 'PHYS110', 1]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101'], ['s5', 'MATH101H'], ['s5', 'CHEM120'], ['s5', 'MATH101H'], ['s3', 'HIST140'],\n     ['s5', 'MATH101']]],\n   [['CHEM120', 'MATH101', 1], ['CHEM120', 'MATH101H', 1], ['HIST140', 'MATH101', 1],\n    ['MATH101', 'MATH101H', 1]]),\n  ('normal control 7',\n   [[['s3', 'ECON150'], ['s1', 'CHEM120'], ['s3', 'HIST140'], ['s1', 'BIO130'], ['s3', 'CHEM120'],\n     ['s3', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'MATH101H']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1],\n    ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['CHEM120', 'MATH101H', 1], ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1],\n    ['MATH101H', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s4', 'BIO130'], ['s2', 'MATH101H'], ['s4', 'ECON150'], ['s2', 'HIST140'], ['s3', 'ECON150'],\n     ['s3', 'PHYS110'], ['s3', 'CHEM120'], ['s4', 'CHEM120'], ['s3', 'MATH101H'], ['s3', 'CHEM120']]],\n   [['BIO130', 'CHEM120', 1], ['BIO130', 'ECON150', 1], ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101H', 1], ['ECON150', 'PHYS110', 1],\n    ['HIST140', 'MATH101H', 1], ['MATH101H', 'PHYS110', 1]])],\n [('regression: distinct enrolments 1',\n   [[['s2', 'PHYS110'], ['s3', 'HIST140'], ['s3', 'MATH101'], ['s5', 'ECON150'], ['s5', 'HIST140'],\n     ['s5', 'CHEM120'], ['s3', 'PHYS110'], ['s2', 'BIO130'], ['s3', 'MATH101'], ['s4', 'CHEM120'],\n     ['s2', 'HIST140']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'PHYS110', 1], ['CHEM120', 'ECON150', 1], ['CHEM120', 'HIST140', 1],\n    ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 1], ['HIST140', 'PHYS110', 2],\n    ['MATH101', 'PHYS110', 1]]),\n  ('regression variant: distinct enrolments 2',\n   [[['s4', 'MATH101'], ['s3', 'MATH101H'], ['s3', 'CHEM120'], ['s4', 'MATH101H'], ['s1', 'MATH101'],\n     ['s2', 'ECON150'], ['s4', 'ECON150'], ['s5', 'BIO130'], ['s1', 'PHYS110'], ['s1', 'BIO130'],\n     ['s5', 'ECON150'], ['s5', 'MATH101'], ['s5', 'CHEM120'], ['s1', 'CHEM120'], ['s4', 'CHEM120'],\n     ['s1', 'PHYS110']]],\n   [['BIO130', 'CHEM120', 2], ['BIO130', 'ECON150', 1], ['BIO130', 'MATH101', 2], ['BIO130', 'PHYS110', 1],\n    ['CHEM120', 'ECON150', 2], ['CHEM120', 'MATH101', 3], ['CHEM120', 'MATH101H', 2],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'MATH101', 2], ['ECON150', 'MATH101H', 1],\n    ['MATH101', 'MATH101H', 1], ['MATH101', 'PHYS110', 1]]),\n  ('partial repair guard 3',\n   [[['s1', 'HIST140'], ['s5', 'MATH101H'], ['s3', 'CHEM120'], ['s1', 'MATH101H'], ['s1', 'CHEM120'],\n     ['s3', 'ECON150'], ['s4', 'MATH101H'], ['s3', 'MATH101'], ['s1', 'ECON150'], ['s5', 'HIST140'],\n     ['s4', 'ECON150'], ['s5', 'ECON150'], ['s2', 'PHYS110'], ['s5', 'ECON150']]],\n   [['CHEM120', 'ECON150', 2], ['CHEM120', 'HIST140', 1], ['CHEM120', 'MATH101', 1],\n    ['CHEM120', 'MATH101H', 1], ['ECON150', 'HIST140', 2], ['ECON150', 'MATH101', 1],\n    ['ECON150', 'MATH101H', 3], ['HIST140', 'MATH101H', 2]]),\n  ('boundary control 4', [[['s1', 'A'], ['s1', 'B'], ['s2', 'A'], ['s2', 'B']]], [['A', 'B', 2]]),\n  ('boundary control 5', [[['s1', 'B'], ['s1', 'A'], ['s1', 'C']]],\n   [['A', 'B', 1], ['A', 'C', 1], ['B', 'C', 1]]),\n  ('normal control 6',\n   [[['s3', 'MATH101H'], ['s3', 'PHYS110'], ['s4', 'BIO130'], ['s5', 'MATH101'], ['s2', 'HIST140'],\n     ['s1', 'MATH101H'], ['s1', 'HIST140'], ['s4', 'HIST140'], ['s5', 'MATH101H'], ['s2', 'BIO130'],\n     ['s5', 'PHYS110'], ['s2', 'MATH101'], ['s4', 'BIO130'], ['s1', 'PHYS110'], ['s4', 'ECON150'],\n     ['s5', 'HIST140'], ['s3', 'CHEM120']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 2], ['BIO130', 'MATH101', 1], ['CHEM120', 'MATH101H', 1],\n    ['CHEM120', 'PHYS110', 1], ['ECON150', 'HIST140', 1], ['HIST140', 'MATH101', 2],\n    ['HIST140', 'MATH101H', 2], ['HIST140', 'PHYS110', 2], ['MATH101', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1], ['MATH101H', 'PHYS110', 3]]),\n  ('normal control 7',\n   [[['s4', 'BIO130'], ['s4', 'ECON150'], ['s4', 'PHYS110'], ['s2', 'MATH101H'], ['s2', 'HIST140'],\n     ['s3', 'BIO130'], ['s4', 'MATH101'], ['s3', 'HIST140'], ['s3', 'HIST140']]],\n   [['BIO130', 'ECON150', 1], ['BIO130', 'HIST140', 1], ['BIO130', 'MATH101', 1], ['BIO130', 'PHYS110', 1],\n    ['ECON150', 'MATH101', 1], ['ECON150', 'PHYS110', 1], ['HIST140', 'MATH101H', 1],\n    ['MATH101', 'PHYS110', 1]]),\n  ('normal control 8',\n   [[['s3', 'CHEM120'], ['s4', 'BIO130'], ['s3', 'PHYS110'], ['s1', 'BIO130'], ['s1', 'MATH101H'],\n     ['s3', 'MATH101'], ['s4', 'HIST140'], ['s3', 'MATH101']]],\n   [['BIO130', 'HIST140', 1], ['BIO130', 'MATH101H', 1], ['CHEM120', 'MATH101', 1], ['CHEM120', 'PHYS110', 1],\n    ['MATH101', 'PHYS110', 1]])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated toy exam-timetabling rule set for a bounded model; it does not claim conformance with any institution's regulations or a benchmark specification, and it performs no search or optimisation. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-exam-timetabling-constraints-conflict-matrix-distinct-enrolments","generated_at":"2026-09-29T14:52:06.605091+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"The conflict matrix is the input to every exam timetabling algorithm; count errors silently change weights.","repair":"Use the set of distinct exams per student.","root_cause":"Exams per student are kept as a list.","sha256":"035338242b54117419fbba8a4a8384db0d965c4d4d78403b945b01095b77bf1c","title":"Duplicate enrolment rows inflate conflict counts · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.6,"exit_code":1,"observations":[{"actual":[["A","B",2]],"check":"regression: distinct enrolments 1","expected":[["A","B",1]],"passed":false},{"actual":[["HIST140","MATH101",2]],"check":"regression variant: distinct enrolments 2","expected":[["HIST140","MATH101",1]],"passed":false},{"actual":[["ECON150","HIST140",2],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","MATH101H",2],["HIST140","PHYS110",2],["MATH101H","PHYS110",1]],"check":"partial repair guard 3","expected":[["ECON150","HIST140",1],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","MATH101H",1],["HIST140","PHYS110",1],["MATH101H","PHYS110",1]],"passed":false},{"actual":[["A","B",2]],"check":"boundary control 4","expected":[["A","B",2]],"passed":true},{"actual":[["A","B",1],["A","C",1],["B","C",1]],"check":"boundary control 5","expected":[["A","B",1],["A","C",1],["B","C",1]],"passed":true},{"actual":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"check":"normal control 6","expected":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"passed":true},{"actual":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"check":"normal control 7","expected":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"passed":true},{"actual":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"check":"normal control 8","expected":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: distinct enrolments 1\", \"actual\": [[\"A\", \"B\", 2]], \"expected\": [[\"A\", \"B\", 1]], \"passed\": false}, {\"check\": \"regression variant: distinct enrolments 2\", \"actual\": [[\"HIST140\", \"MATH101\", 2]], \"expected\": [[\"HIST140\", \"MATH101\", 1]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"ECON150\", \"HIST140\", 2], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"MATH101H\", 2], [\"HIST140\", \"PHYS110\", 2], [\"MATH101H\", \"PHYS110\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"MATH101H\", 1], [\"HIST140\", \"PHYS110\", 1], [\"MATH101H\", \"PHYS110\", 1]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\", \"B\", 2]], \"expected\": [[\"A\", \"B\", 2]], \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"expected\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"expected\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.309,"exit_code":1,"observations":[{"actual":[["A","A",1],["A","B",2]],"check":"regression: distinct enrolments 1","expected":[["A","B",1]],"passed":false},{"actual":[["HIST140","MATH101",2],["MATH101","MATH101",1]],"check":"regression variant: distinct enrolments 2","expected":[["HIST140","MATH101",1]],"passed":false},{"actual":[["ECON150","HIST140",2],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","HIST140",1],["HIST140","MATH101H",2],["HIST140","PHYS110",2],["MATH101H","PHYS110",1]],"check":"partial repair guard 3","expected":[["ECON150","HIST140",1],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","MATH101H",1],["HIST140","PHYS110",1],["MATH101H","PHYS110",1]],"passed":false},{"actual":[["A","B",2]],"check":"boundary control 4","expected":[["A","B",2]],"passed":true},{"actual":[["A","B",1],["A","C",1],["B","C",1]],"check":"boundary control 5","expected":[["A","B",1],["A","C",1],["B","C",1]],"passed":true},{"actual":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"check":"normal control 6","expected":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"passed":true},{"actual":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"check":"normal control 7","expected":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"passed":true},{"actual":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"check":"normal control 8","expected":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: distinct enrolments 1\", \"actual\": [[\"A\", \"A\", 1], [\"A\", \"B\", 2]], \"expected\": [[\"A\", \"B\", 1]], \"passed\": false}, {\"check\": \"regression variant: distinct enrolments 2\", \"actual\": [[\"HIST140\", \"MATH101\", 2], [\"MATH101\", \"MATH101\", 1]], \"expected\": [[\"HIST140\", \"MATH101\", 1]], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"ECON150\", \"HIST140\", 2], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"HIST140\", 1], [\"HIST140\", \"MATH101H\", 2], [\"HIST140\", \"PHYS110\", 2], [\"MATH101H\", \"PHYS110\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"MATH101H\", 1], [\"HIST140\", \"PHYS110\", 1], [\"MATH101H\", \"PHYS110\", 1]], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\", \"B\", 2]], \"expected\": [[\"A\", \"B\", 2]], \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"expected\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"expected\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.256,"exit_code":0,"observations":[{"actual":[["A","B",1]],"check":"regression: distinct enrolments 1","expected":[["A","B",1]],"passed":true},{"actual":[["HIST140","MATH101",1]],"check":"regression variant: distinct enrolments 2","expected":[["HIST140","MATH101",1]],"passed":true},{"actual":[["ECON150","HIST140",1],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","MATH101H",1],["HIST140","PHYS110",1],["MATH101H","PHYS110",1]],"check":"partial repair guard 3","expected":[["ECON150","HIST140",1],["ECON150","MATH101H",1],["ECON150","PHYS110",1],["HIST140","MATH101H",1],["HIST140","PHYS110",1],["MATH101H","PHYS110",1]],"passed":true},{"actual":[["A","B",2]],"check":"boundary control 4","expected":[["A","B",2]],"passed":true},{"actual":[["A","B",1],["A","C",1],["B","C",1]],"check":"boundary control 5","expected":[["A","B",1],["A","C",1],["B","C",1]],"passed":true},{"actual":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"check":"normal control 6","expected":[["BIO130","CHEM120",1],["BIO130","HIST140",1],["BIO130","MATH101H",1],["CHEM120","HIST140",1],["CHEM120","MATH101H",1],["ECON150","HIST140",1],["ECON150","MATH101",1],["HIST140","MATH101",1],["HIST140","MATH101H",1]],"passed":true},{"actual":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"check":"normal control 7","expected":[["CHEM120","MATH101",1],["CHEM120","PHYS110",1],["MATH101","PHYS110",1]],"passed":true},{"actual":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"check":"normal control 8","expected":[["ECON150","HIST140",1],["ECON150","MATH101",1],["ECON150","MATH101H",1],["HIST140","MATH101H",1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: distinct enrolments 1\", \"actual\": [[\"A\", \"B\", 1]], \"expected\": [[\"A\", \"B\", 1]], \"passed\": true}, {\"check\": \"regression variant: distinct enrolments 2\", \"actual\": [[\"HIST140\", \"MATH101\", 1]], \"expected\": [[\"HIST140\", \"MATH101\", 1]], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"MATH101H\", 1], [\"HIST140\", \"PHYS110\", 1], [\"MATH101H\", \"PHYS110\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101H\", 1], [\"ECON150\", \"PHYS110\", 1], [\"HIST140\", \"MATH101H\", 1], [\"HIST140\", \"PHYS110\", 1], [\"MATH101H\", \"PHYS110\", 1]], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\", \"B\", 2]], \"expected\": [[\"A\", \"B\", 2]], \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"expected\": [[\"A\", \"B\", 1], [\"A\", \"C\", 1], [\"B\", \"C\", 1]], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"BIO130\", \"CHEM120\", 1], [\"BIO130\", \"HIST140\", 1], [\"BIO130\", \"MATH101H\", 1], [\"CHEM120\", \"HIST140\", 1], [\"CHEM120\", \"MATH101H\", 1], [\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"HIST140\", \"MATH101\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"expected\": [[\"CHEM120\", \"MATH101\", 1], [\"CHEM120\", \"PHYS110\", 1], [\"MATH101\", \"PHYS110\", 1]], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"expected\": [[\"ECON150\", \"HIST140\", 1], [\"ECON150\", \"MATH101\", 1], [\"ECON150\", \"MATH101H\", 1], [\"HIST140\", \"MATH101H\", 1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}