{"abstract":"Callers look up the wrong objects for every hit.","category":"Collision detection broadphase","checks":8,"contract":"solve(nodes, q): BVH nodes [minx,miny,maxx,maxy,left,right,leaf_id], leaves have left=-1; root is node 0. Stack traversal tests every popped node against the closed query box (counting each test) and descends only into overlapping internal nodes. Return [sorted leaf ids overlapping q, number of node tests].","contract_signature":"nodes, q","evaluation_group":"w2-collision_detection_broadphase-bvh-stack-query","failed_approach":"Reporting the child pointer returns -1 for every leaf.","family":"w2-collision_detection_broadphase-bvh-stack-query-leaf-identifier","id":"FA-87466","implementations":{"attempt":{"sha256":"c62c37e02bfa4510b0f17d16a69709b79e908b97ae2d23593613fe44dd4b318d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(nodes, q):\n    if not nodes:\n        return [[], 0]\n    stack = [0]\n    hits = []\n    tests = 0\n    while stack:\n        i = stack.pop()\n        nd = nodes[i]\n        tests += 1\n        if not (nd[0] <= q[2] and q[0] <= nd[2] and nd[1] <= q[3] and q[1] <= nd[3]):\n            continue\n        if nd[4] < 0:\n            hits.append(nd[4])\n        else:\n            stack.append(nd[4])\n            stack.append(nd[5])\n    return [sorted(hits), tests]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[9, 8, 10, 8, -1, -1, 100]], [6, 4, 10, 8]], [[100], 1]], [[[[2, 1, 13, 13, 1, 4, -1], [2, 7, 8, 10, 2, 3, -1], [2, 10, 2, 10, -1, -1, 103], [6, 7, 8, 7, -1, -1, 102], [8, 1, 13, 13, 5, 6, -1], [8, 1, 9, 1, -1, -1, 104], [10, 3, 13, 13, 7, 8, -1], [10, 3, 12, 6, -1, -1, 101], [12, 11, 13, 13, -1, -1, 100]], [9, 6, 12, 7]], [[101], 7]], [[[[0, 0, 12, 13, 1, 6, -1], [0, 0, 5, 4, 2, 3, -1], [0, 2, 1, 2, -1, -1, 102], [1, 0, 5, 4, 4, 5, -1], [1, 4, 4, 4, -1, -1, 105], [3, 0, 5, 1, -1, -1, 101], [3, 2, 12, 13, 7, 8, -1], [3, 9, 6, 12, -1, -1, 104], [11, 2, 12, 13, 9, 10, -1], [11, 2, 12, 2, -1, -1, 100], [12, 11, 12, 13, -1, -1, 103]], [9, 11, 11, 12]], [[], 7]], [[[[3, 5, 10, 10, 1, 2, -1], [3, 5, 4, 7, -1, -1, 100], [4, 6, 10, 10, 3, 4, -1], [4, 10, 6, 10, -1, -1, 102], [8, 6, 10, 8, -1, -1, 101]], [3, 3, 6, 4]], [[], 1]], [[[[0, 0, 15, 14, 1, 6, -1], [0, 0, 5, 8, 2, 3, -1], [0, 0, 0, 3, -1, -1, 103], [3, 4, 5, 8, 4, 5, -1], [3, 5, 4, 8, -1, -1, 104], [5, 4, 5, 6, -1, -1, 102], [8, 2, 15, 14, 7, 10, -1], [8, 4, 10, 10, 8, 9, -1], [8, 4, 8, 7, -1, -1, 106], [9, 7, 10, 10, -1, -1, 105], [10, 2, 15, 14, 11, 12, -1], [10, 11, 13, 14, -1, -1, 101], [12, 2, 15, 2, -1, -1, 100]], [12, 4, 12, 7]], [[], 7]], [[[[0, 1, 10, 11, 1, 2, -1], [0, 8, 3, 11, -1, -1, 101], [1, 1, 10, 11, 3, 4, -1], [1, 10, 4, 11, -1, -1, 100], [9, 1, 10, 2, -1, -1, 102]], [1, 11, 1, 11]], [[100, 101], 5]], [[[[0, 3, 14, 14, 1, 2, -1], [0, 3, 2, 4, -1, -1, 102], [6, 3, 14, 14, 3, 4, -1], [6, 11, 7, 14, -1, -1, 101], [11, 3, 14, 5, -1, -1, 100]], [2, 8, 3, 10]], [[], 3]], [[[[1, 2, 12, 5, 1, 4, -1], [1, 3, 11, 5, 2, 3, -1], [1, 3, 4, 4, -1, -1, 101], [8, 5, 11, 5, -1, -1, 102], [9, 2, 12, 5, 5, 6, -1], [10, 2, 10, 4, -1, -1, 100], [9, 2, 12, 5, 7, 8, -1], [9, 2, 11, 5, -1, -1, 104], [12, 4, 12, 4, -1, -1, 103]], [2, 3, 5, 3]], [[101], 5]]], [[[[[3, 0, 13, 12, 1, 6, -1], [3, 0, 7, 12, 2, 3, -1], [3, 0, 3, 1, -1, -1, 103], [4, 8, 7, 12, 4, 5, -1], [4, 8, 7, 10, -1, -1, 100], [4, 9, 7, 12, -1, -1, 101], [8, 2, 13, 7, 7, 8, -1], [9, 4, 10, 7, -1, -1, 102], [8, 2, 13, 6, 9, 10, -1], [8, 3, 11, 6, -1, -1, 105], [11, 2, 13, 5, -1, -1, 104]], [8, 11, 9, 14]], [[], 3]], [[[[1, 5, 11, 8, 1, 2, -1], [1, 5, 4, 7, -1, -1, 100], [10, 5, 11, 8, -1, -1, 101]], [1, 6, 1, 6]], [[100], 3]], [[[[3, 4, 9, 12, 1, 2, -1], [3, 10, 5, 12, -1, -1, 101], [6, 4, 9, 12, 3, 4, -1], [6, 12, 8, 12, -1, -1, 100], [9, 4, 9, 7, -1, -1, 102]], [1, 8, 3, 11]], [[101], 3]], [[[[1, 0, 11, 11, 1, 8, -1], [1, 0, 7, 6, 2, 5, -1], [1, 0, 4, 5, 3, 4, -1], [1, 0, 4, 2, -1, -1, 100], [1, 3, 4, 5, -1, -1, 101], [5, 3, 7, 6, 6, 7, -1], [6, 6, 6, 6, -1, -1, 102], [5, 3, 7, 6, -1, -1, 103], [5, 5, 11, 11, 9, 12, -1], [5, 5, 10, 9, 10, 11, -1], [5, 5, 8, 7, -1, -1, 106], [9, 9, 10, 9, -1, -1, 105], [10, 6, 11, 11, 13, 14, -1], [10, 6, 11, 7, -1, -1, 104], [10, 10, 11, 11, -1, -1, 107]], [10, 11, 12, 14]], [[107], 7]], [[[[1, 1, 15, 12, 1, 6, -1], [1, 6, 4, 12, 2, 3, -1], [1, 12, 4, 12, -1, -1, 103], [1, 6, 4, 10, 4, 5, -1], [1, 9, 4, 10, -1, -1, 105], [3, 6, 3, 6, -1, -1, 104], [3, 1, 15, 6, 7, 8, -1], [3, 6, 4, 6, -1, -1, 100], [5, 1, 15, 5, 9, 10, -1], [5, 1, 5, 3, -1, -1, 102], [12, 4, 15, 5, -1, -1, 101]], [3, 6, 6, 8]], [[100, 104], 9]], [[[[0, 5, 14, 14, 1, 6, -1], [0, 5, 5, 14, 2, 3, -1], [0, 5, 0, 8, -1, -1, 105], [2, 8, 5, 14, 4, 5, -1], [2, 12, 3, 14, -1, -1, 103], [4, 8, 5, 9, -1, -1, 102], [6, 11, 14, 12, 7, 8, -1], [6, 11, 9, 11, -1, -1, 101], [10, 11, 14, 12, 9, 10, -1], [10, 11, 13, 11, -1, -1, 100], [11, 12, 14, 12, -1, -1, 104]], [2, 2, 5, 6]], [[], 5]], [[[[0, 0, 12, 14, 1, 8, -1], [0, 1, 6, 12, 2, 5, -1], [0, 5, 1, 12, 3, 4, -1], [0, 5, 0, 5, -1, -1, 106], [0, 12, 1, 12, -1, -1, 105], [1, 1, 6, 6, 6, 7, -1], [1, 1, 1, 2, -1, -1, 102], [3, 5, 6, 6, -1, -1, 104], [5, 0, 12, 14, 9, 12, -1], [5, 2, 7, 14, 10, 11, -1], [5, 2, 6, 2, -1, -1, 101], [7, 12, 7, 14, -1, -1, 103], [6, 0, 12, 14, 13, 14, -1], [6, 0, 9, 2, -1, -1, 100], [9, 12, 12, 14, -1, -1, 107]], [1, 0, 3, 2]], [[102], 7]], [[[[1, 0, 11, 14, 1, 4, -1], [1, 12, 3, 14, 2, 3, -1], [1, 12, 3, 14, -1, -1, 103], [2, 12, 3, 12, -1, -1, 102], [7, 0, 11, 6, 5, 6, -1], [7, 0, 7, 1, -1, -1, 100], [8, 2, 11, 6, 7, 8, -1], [8, 2, 9, 5, -1, -1, 101], [8, 3, 11, 6, -1, -1, 104]], [5, 10, 6, 10]], [[], 3]]], [[[[[0, 3, 13, 15, 1, 4, -1], [0, 3, 10, 12, 2, 3, -1], [0, 3, 0, 4, -1, -1, 103], [7, 9, 10, 12, -1, -1, 101], [12, 3, 13, 15, 5, 6, -1], [12, 3, 12, 5, -1, -1, 100], [12, 12, 13, 15, -1, -1, 102]], [4, 12, 8, 14]], [[101], 5]], [[[[9, 2, 10, 8, 1, 2, -1], [9, 2, 10, 2, -1, -1, 100], [10, 7, 10, 8, -1, -1, 101]], [3, 6, 4, 7]], [[], 1]], [[[[0, 1, 11, 9, 1, 4, -1], [0, 2, 6, 5, 2, 3, -1], [0, 2, 2, 4, -1, -1, 103], [5, 4, 6, 5, -1, -1, 104], [5, 1, 11, 9, 5, 6, -1], [5, 9, 7, 9, -1, -1, 102], [7, 1, 11, 7, 7, 8, -1], [7, 4, 10, 7, -1, -1, 101], [10, 1, 11, 3, -1, -1, 100]], [7, 1, 7, 3]], [[], 7]], [[[[3, 2, 14, 13, 1, 8, -1], [3, 3, 8, 13, 2, 5, -1], [3, 3, 6, 11, 3, 4, -1], [3, 10, 4, 11, -1, -1, 102], [3, 3, 6, 3, -1, -1, 100], [7, 9, 8, 13, 6, 7, -1], [7, 12, 7, 13, -1, -1, 103], [7, 9, 8, 11, -1, -1, 105], [8, 2, 14, 13, 9, 12, -1], [8, 6, 11, 13, 10, 11, -1], [8, 12, 10, 13, -1, -1, 101], [8, 6, 11, 6, -1, -1, 104], [11, 2, 14, 11, 13, 14, -1], [11, 2, 12, 2, -1, -1, 106], [12, 9, 14, 11, -1, -1, 107]], [12, 1, 15, 4]], [[106], 7]], [[[[0, 0, 14, 11, 1, 8, -1], [0, 4, 2, 11, 2, 5, -1], [0, 6, 2, 9, 3, 4, -1], [0, 6, 1, 9, -1, -1, 106], [0, 9, 2, 9, -1, -1, 104], [1, 4, 2, 11, 6, 7, -1], [1, 8, 2, 11, -1, -1, 101], [1, 4, 2, 6, -1, -1, 107], [2, 0, 14, 11, 9, 12, -1], [2, 0, 6, 11, 10, 11, -1], [2, 0, 4, 1, -1, -1, 105], [6, 10, 6, 11, -1, -1, 100], [8, 1, 14, 10, 13, 14, -1], [8, 2, 9, 4, -1, -1, 103], [9, 1, 14, 10, 15, 16, -1], [9, 9, 12, 10, -1, -1, 108], [11, 1, 14, 1, -1, -1, 102]], [4, 6, 5, 7]], [[], 7]], [[[[0, 0, 13, 11, 1, 6, -1], [0, 0, 3, 9, 2, 3, -1], [0, 6, 0, 9, -1, -1, 100], [1, 0, 3, 4, 4, 5, -1], [1, 0, 3, 1, -1, -1, 105], [2, 2, 2, 4, -1, -1, 106], [2, 2, 13, 11, 7, 10, -1], [2, 2, 4, 8, 8, 9, -1], [3, 2, 3, 2, -1, -1, 103], [2, 8, 4, 8, -1, -1, 104], [3, 6, 13, 11, 11, 12, -1], [3, 6, 5, 8, -1, -1, 101], [12, 10, 13, 11, -1, -1, 102]], [1, 8, 4, 10]], [[101, 104], 11]], [[[[2, 1, 15, 15, 1, 8, -1], [2, 3, 10, 9, 2, 5, -1], [2, 3, 4, 6, 3, 4, -1], [2, 3, 2, 4, -1, -1, 105], [2, 4, 4, 6, -1, -1, 101], [3, 4, 10, 9, 6, 7, -1], [3, 6, 5, 9, -1, -1, 104], [7, 4, 10, 7, -1, -1, 107], [8, 1, 15, 15, 9, 12, -1], [8, 1, 10, 9, 10, 11, -1], [8, 8, 10, 9, -1, -1, 103], [9, 1, 10, 4, -1, -1, 100], [11, 11, 15, 15, 13, 14, -1], [11, 11, 11, 13, -1, -1, 106], [12, 12, 15, 15, -1, -1, 102]], [0, 4, 3, 8]], [[101, 104, 105], 9]], [[[[10, 2, 11, 5, -1, -1, 100]], [0, 11, 3, 14]], [[], 1]]], [[[[[2, 1, 13, 14, 1, 8, -1], [2, 2, 10, 14, 2, 5, -1], [2, 6, 5, 14, 3, 4, -1], [2, 11, 5, 14, -1, -1, 101], [5, 6, 5, 7, -1, -1, 105], [5, 2, 10, 12, 6, 7, -1], [5, 10, 6, 12, -1, -1, 103], [7, 2, 10, 2, -1, -1, 106], [7, 1, 13, 9, 9, 12, -1], [7, 2, 12, 9, 10, 11, -1], [7, 2, 10, 3, -1, -1, 107], [9, 7, 12, 9, -1, -1, 104], [11, 1, 13, 6, 13, 14, -1], [11, 6, 12, 6, -1, -1, 100], [11, 1, 13, 1, -1, -1, 102]], [9, 6, 11, 10]], [[100, 104], 13]], [[[[0, 1, 14, 12, 1, 2, -1], [0, 4, 0, 6, -1, -1, 101], [0, 1, 14, 12, 3, 4, -1], [0, 1, 0, 3, -1, -1, 102], [11, 9, 14, 12, -1, -1, 100]], [8, 11, 10, 11]], [[], 5]], [[[[2, 4, 15, 15, 1, 4, -1], [2, 4, 7, 10, 2, 3, -1], [2, 4, 3, 5, -1, -1, 101], [5, 10, 7, 10, -1, -1, 104], [8, 7, 15, 15, 5, 6, -1], [8, 12, 9, 15, -1, -1, 103], [11, 7, 15, 13, 7, 8, -1], [11, 7, 12, 10, -1, -1, 102], [12, 12, 15, 13, -1, -1, 100]], [6, 7, 6, 10]], [[104], 5]], [[[[0, 0, 12, 12, 1, 8, -1], [0, 4, 11, 12, 2, 5, -1], [0, 4, 0, 7, 3, 4, -1], [0, 4, 0, 5, -1, -1, 102], [0, 6, 0, 7, -1, -1, 104], [8, 5, 11, 12, 6, 7, -1], [8, 5, 9, 5, -1, -1, 105], [8, 10, 11, 12, -1, -1, 106], [9, 0, 12, 11, 9, 12, -1], [9, 0, 11, 4, 10, 11, -1], [10, 2, 10, 4, -1, -1, 100], [9, 0, 11, 0, -1, -1, 101], [9, 8, 12, 11, 13, 14, -1], [9, 8, 11, 11, -1, -1, 103], [11, 11, 12, 11, -1, -1, 107]], [9, 3, 12, 5]], [[100, 105], 11]], [[[[3, 3, 13, 15, 1, 6, -1], [3, 3, 6, 10, 2, 3, -1], [3, 4, 4, 4, -1, -1, 100], [3, 3, 6, 10, 4, 5, -1], [3, 7, 4, 10, -1, -1, 101], [3, 3, 6, 4, -1, -1, 104], [9, 3, 13, 15, 7, 10, -1], [9, 9, 12, 15, 8, 9, -1], [9, 9, 9, 12, -1, -1, 105], [10, 12, 12, 15, -1, -1, 106], [11, 3, 13, 5, 11, 12, -1], [11, 4, 13, 5, -1, -1, 102], [12, 3, 13, 4, -1, -1, 103]], [12, 5, 13, 5]], [[102], 7]], [[[[3, 6, 12, 12, 1, 4, -1], [3, 6, 7, 9, 2, 3, -1], [3, 6, 6, 8, -1, -1, 101], [4, 6, 7, 9, -1, -1, 103], [8, 6, 12, 12, 5, 6, -1], [8, 7, 11, 9, -1, -1, 102], [10, 6, 12, 12, 7, 8, -1], [10, 6, 10, 7, -1, -1, 104], [11, 12, 12, 12, -1, -1, 100]], [10, 6, 13, 9]], [[102, 104], 7]], [[[[0, 1, 15, 12, 1, 8, -1], [0, 1, 9, 11, 2, 5, -1], [0, 1, 4, 4, 3, 4, -1], [0, 1, 0, 4, -1, -1, 106], [4, 1, 4, 3, -1, -1, 100], [6, 1, 9, 11, 6, 7, -1], [6, 11, 9, 11, -1, -1, 105], [7, 1, 9, 2, -1, -1, 104], [7, 3, 15, 12, 9, 12, -1], [7, 10, 10, 12, 10, 11, -1], [7, 12, 9, 12, -1, -1, 107], [7, 10, 10, 12, -1, -1, 101], [10, 3, 15, 12, 13, 14, -1], [10, 11, 13, 12, -1, -1, 103], [12, 3, 15, 7, 15, 16, -1], [12, 5, 15, 7, -1, -1, 102], [12, 3, 15, 5, -1, -1, 108]], [1, 8, 3, 11]], [[], 5]], [[[[0, 1, 13, 13, 1, 10, -1], [0, 1, 7, 10, 2, 5, -1], [0, 3, 2, 9, 3, 4, -1], [0, 8, 1, 9, -1, -1, 102], [2, 3, 2, 5, -1, -1, 103], [4, 1, 7, 10, 6, 7, -1], [4, 8, 7, 10, -1, -1, 104], [5, 1, 7, 8, 8, 9, -1], [5, 5, 7, 8, -1, -1, 100], [6, 1, 7, 4, -1, -1, 109], [7, 1, 13, 13, 11, 14, -1], [7, 8, 8, 11, 12, 13, -1], [7, 8, 7, 11, -1, -1, 101], [7, 8, 8, 11, -1, -1, 107], [7, 1, 13, 13, 15, 16, -1], [7, 6, 9, 6, -1, -1, 108], [9, 1, 13, 13, 17, 18, -1], [9, 10, 10, 13, -1, -1, 106], [12, 1, 13, 4, -1, -1, 105]], [8, 0, 11, 1]], [[], 9]]], [[[[[4, 2, 15, 13, 1, 2, -1], [4, 12, 5, 13, -1, -1, 101], [12, 2, 15, 9, 3, 4, -1], [12, 8, 13, 9, -1, -1, 102], [12, 2, 15, 3, -1, -1, 100]], [8, 2, 9, 5]], [[], 3]], [[[[0, 1, 11, 10, 1, 6, -1], [0, 1, 4, 8, 2, 3, -1], [0, 1, 0, 2, -1, -1, 101], [0, 3, 4, 8, 4, 5, -1], [0, 3, 0, 3, -1, -1, 104], [4, 7, 4, 8, -1, -1, 106], [7, 4, 11, 10, 7, 10, -1], [7, 4, 11, 8, 8, 9, -1], [7, 5, 7, 8, -1, -1, 100], [8, 4, 11, 7, -1, -1, 103], [11, 8, 11, 10, 11, 12, -1], [11, 8, 11, 9, -1, -1, 102], [11, 8, 11, 10, -1, -1, 105]], [2, 7, 5, 7]], [[106], 7]], [[[[0, 1, 11, 13, 1, 10, -1], [0, 2, 5, 12, 2, 5, -1], [0, 4, 5, 12, 3, 4, -1], [0, 10, 3, 12, -1, -1, 102], [2, 4, 5, 5, -1, -1, 104], [3, 2, 5, 8, 6, 7, -1], [3, 2, 5, 2, -1, -1, 101], [4, 5, 5, 8, 8, 9, -1], [4, 7, 4, 7, -1, -1, 108], [4, 5, 5, 8, -1, -1, 103], [4, 1, 11, 13, 11, 14, -1], [4, 2, 8, 13, 12, 13, -1], [4, 2, 6, 2, -1, -1, 106], [6, 12, 8, 13, -1, -1, 105], [9, 1, 11, 4, 15, 16, -1], [9, 4, 9, 4, -1, -1, 100], [9, 1, 11, 4, 17, 18, -1], [9, 3, 9, 4, -1, -1, 109], [9, 1, 11, 1, -1, -1, 107]], [4, 9, 8, 11]], [[], 11]], [[[[0, 0, 15, 13, 1, 8, -1], [0, 1, 5, 11, 2, 5, -1], [0, 1, 3, 10, 3, 4, -1], [0, 1, 2, 2, -1, -1, 101], [1, 7, 3, 10, -1, -1, 102], [2, 6, 5, 11, 6, 7, -1], [2, 9, 2, 11, -1, -1, 106], [4, 6, 5, 6, -1, -1, 103], [5, 0, 15, 13, 9, 12, -1], [5, 0, 8, 13, 10, 11, -1], [5, 10, 6, 13, -1, -1, 104], [5, 0, 8, 1, -1, -1, 100], [7, 0, 15, 3, 13, 14, -1], [7, 3, 8, 3, -1, -1, 107], [12, 0, 15, 3, -1, -1, 105]], [6, 0, 8, 0]], [[100], 9]], [[[[0, 0, 13, 14, 1, 8, -1], [0, 0, 5, 13, 2, 5, -1], [0, 0, 1, 7, 3, 4, -1], [0, 0, 0, 3, -1, -1, 103], [1, 5, 1, 7, -1, -1, 102], [0, 11, 5, 13, 6, 7, -1], [0, 12, 2, 13, -1, -1, 104], [4, 11, 5, 13, -1, -1, 107], [10, 1, 13, 14, 9, 12, -1], [10, 9, 12, 14, 10, 11, -1], [10, 9, 12, 11, -1, -1, 100], [10, 12, 12, 14, -1, -1, 101], [10, 1, 13, 3, 13, 14, -1], [10, 1, 13, 3, -1, -1, 105], [11, 2, 12, 3, 15, 16, -1], [11, 2, 12, 3, -1, -1, 108], [12, 2, 12, 3, -1, -1, 106]], [5, 9, 5, 11]], [[107], 7]], [[[[2, 0, 14, 12, 1, 8, -1], [2, 0, 6, 11, 2, 5, -1], [2, 4, 4, 8, 3, 4, -1], [2, 4, 2, 7, -1, -1, 101], [3, 7, 4, 8, -1, -1, 105], [3, 0, 6, 11, 6, 7, -1], [3, 0, 5, 3, -1, -1, 100], [6, 10, 6, 11, -1, -1, 106], [7, 1, 14, 12, 9, 12, -1], [7, 4, 10, 12, 10, 11, -1], [8, 10, 8, 12, -1, -1, 103], [7, 4, 10, 7, -1, -1, 104], [8, 1, 14, 6, 13, 14, -1], [8, 1, 10, 1, -1, -1, 102], [10, 3, 14, 6, 15, 16, -1], [10, 3, 10, 6, -1, -1, 108], [11, 4, 14, 6, -1, -1, 107]], [1, 2, 2, 6]], [[101], 7]], [[[[12, 12, 12, 12, -1, -1, 100]], [3, 8, 6, 8]], [[], 1]], [[[[0, 0, 15, 12, 1, 6, -1], [0, 2, 3, 12, 2, 3, -1], [0, 11, 3, 12, -1, -1, 101], [0, 2, 3, 10, 4, 5, -1], [0, 7, 3, 10, -1, -1, 106], [3, 2, 3, 5, -1, -1, 105], [4, 0, 15, 10, 7, 10, -1], [4, 3, 10, 10, 8, 9, -1], [4, 3, 6, 5, -1, -1, 103], [7, 8, 10, 10, -1, -1, 102], [9, 0, 15, 8, 11, 12, -1], [9, 5, 10, 8, -1, -1, 100], [12, 0, 15, 1, -1, -1, 104]], [8, 10, 11, 11]], [[102], 7]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, 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":"8c2f2a2ec40286f94d07b276cf47c0d253635999da5a0782561fb122a180fa0d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(nodes, q):\n    if not nodes:\n        return [[], 0]\n    stack = [0]\n    hits = []\n    tests = 0\n    while stack:\n        i = stack.pop()\n        nd = nodes[i]\n        tests += 1\n        if not (nd[0] <= q[2] and q[0] <= nd[2] and nd[1] <= q[3] and q[1] <= nd[3]):\n            continue\n        if nd[4] < 0:\n            hits.append(i)\n        else:\n            stack.append(nd[4])\n            stack.append(nd[5])\n    return [sorted(hits), tests]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[[9, 8, 10, 8, -1, -1, 100]], [6, 4, 10, 8]], [[100], 1]], [[[[2, 1, 13, 13, 1, 4, -1], [2, 7, 8, 10, 2, 3, -1], [2, 10, 2, 10, -1, -1, 103], [6, 7, 8, 7, -1, -1, 102], [8, 1, 13, 13, 5, 6, -1], [8, 1, 9, 1, -1, -1, 104], [10, 3, 13, 13, 7, 8, -1], [10, 3, 12, 6, -1, -1, 101], [12, 11, 13, 13, -1, -1, 100]], [9, 6, 12, 7]], [[101], 7]], [[[[0, 0, 12, 13, 1, 6, -1], [0, 0, 5, 4, 2, 3, -1], [0, 2, 1, 2, -1, -1, 102], [1, 0, 5, 4, 4, 5, -1], [1, 4, 4, 4, -1, -1, 105], [3, 0, 5, 1, -1, -1, 101], [3, 2, 12, 13, 7, 8, -1], [3, 9, 6, 12, -1, -1, 104], [11, 2, 12, 13, 9, 10, -1], [11, 2, 12, 2, -1, -1, 100], [12, 11, 12, 13, -1, -1, 103]], [9, 11, 11, 12]], [[], 7]], [[[[3, 5, 10, 10, 1, 2, -1], [3, 5, 4, 7, -1, -1, 100], [4, 6, 10, 10, 3, 4, -1], [4, 10, 6, 10, -1, -1, 102], [8, 6, 10, 8, -1, -1, 101]], [3, 3, 6, 4]], [[], 1]], [[[[0, 0, 15, 14, 1, 6, -1], [0, 0, 5, 8, 2, 3, -1], [0, 0, 0, 3, -1, -1, 103], [3, 4, 5, 8, 4, 5, -1], [3, 5, 4, 8, -1, -1, 104], [5, 4, 5, 6, -1, -1, 102], [8, 2, 15, 14, 7, 10, -1], [8, 4, 10, 10, 8, 9, -1], [8, 4, 8, 7, -1, -1, 106], [9, 7, 10, 10, -1, -1, 105], [10, 2, 15, 14, 11, 12, -1], [10, 11, 13, 14, -1, -1, 101], [12, 2, 15, 2, -1, -1, 100]], [12, 4, 12, 7]], [[], 7]], [[[[0, 1, 10, 11, 1, 2, -1], [0, 8, 3, 11, -1, -1, 101], [1, 1, 10, 11, 3, 4, -1], [1, 10, 4, 11, -1, -1, 100], [9, 1, 10, 2, -1, -1, 102]], [1, 11, 1, 11]], [[100, 101], 5]], [[[[0, 3, 14, 14, 1, 2, -1], [0, 3, 2, 4, -1, -1, 102], [6, 3, 14, 14, 3, 4, -1], [6, 11, 7, 14, -1, -1, 101], [11, 3, 14, 5, -1, -1, 100]], [2, 8, 3, 10]], [[], 3]], [[[[1, 2, 12, 5, 1, 4, -1], [1, 3, 11, 5, 2, 3, -1], [1, 3, 4, 4, -1, -1, 101], [8, 5, 11, 5, -1, -1, 102], [9, 2, 12, 5, 5, 6, -1], [10, 2, 10, 4, -1, -1, 100], [9, 2, 12, 5, 7, 8, -1], [9, 2, 11, 5, -1, -1, 104], [12, 4, 12, 4, -1, -1, 103]], [2, 3, 5, 3]], [[101], 5]]], [[[[[3, 0, 13, 12, 1, 6, -1], [3, 0, 7, 12, 2, 3, -1], [3, 0, 3, 1, -1, -1, 103], [4, 8, 7, 12, 4, 5, -1], [4, 8, 7, 10, -1, -1, 100], [4, 9, 7, 12, -1, -1, 101], [8, 2, 13, 7, 7, 8, -1], [9, 4, 10, 7, -1, -1, 102], [8, 2, 13, 6, 9, 10, -1], [8, 3, 11, 6, -1, -1, 105], [11, 2, 13, 5, -1, -1, 104]], [8, 11, 9, 14]], [[], 3]], [[[[1, 5, 11, 8, 1, 2, -1], [1, 5, 4, 7, -1, -1, 100], [10, 5, 11, 8, -1, -1, 101]], [1, 6, 1, 6]], [[100], 3]], [[[[3, 4, 9, 12, 1, 2, -1], [3, 10, 5, 12, -1, -1, 101], [6, 4, 9, 12, 3, 4, -1], [6, 12, 8, 12, -1, -1, 100], [9, 4, 9, 7, -1, -1, 102]], [1, 8, 3, 11]], [[101], 3]], [[[[1, 0, 11, 11, 1, 8, -1], [1, 0, 7, 6, 2, 5, -1], [1, 0, 4, 5, 3, 4, -1], [1, 0, 4, 2, -1, -1, 100], [1, 3, 4, 5, -1, -1, 101], [5, 3, 7, 6, 6, 7, -1], [6, 6, 6, 6, -1, -1, 102], [5, 3, 7, 6, -1, -1, 103], [5, 5, 11, 11, 9, 12, -1], [5, 5, 10, 9, 10, 11, -1], [5, 5, 8, 7, -1, -1, 106], [9, 9, 10, 9, -1, -1, 105], [10, 6, 11, 11, 13, 14, -1], [10, 6, 11, 7, -1, -1, 104], [10, 10, 11, 11, -1, -1, 107]], [10, 11, 12, 14]], [[107], 7]], [[[[1, 1, 15, 12, 1, 6, -1], [1, 6, 4, 12, 2, 3, -1], [1, 12, 4, 12, -1, -1, 103], [1, 6, 4, 10, 4, 5, -1], [1, 9, 4, 10, -1, -1, 105], [3, 6, 3, 6, -1, -1, 104], [3, 1, 15, 6, 7, 8, -1], [3, 6, 4, 6, -1, -1, 100], [5, 1, 15, 5, 9, 10, -1], [5, 1, 5, 3, -1, -1, 102], [12, 4, 15, 5, -1, -1, 101]], [3, 6, 6, 8]], [[100, 104], 9]], [[[[0, 5, 14, 14, 1, 6, -1], [0, 5, 5, 14, 2, 3, -1], [0, 5, 0, 8, -1, -1, 105], [2, 8, 5, 14, 4, 5, -1], [2, 12, 3, 14, -1, -1, 103], [4, 8, 5, 9, -1, -1, 102], [6, 11, 14, 12, 7, 8, -1], [6, 11, 9, 11, -1, -1, 101], [10, 11, 14, 12, 9, 10, -1], [10, 11, 13, 11, -1, -1, 100], [11, 12, 14, 12, -1, -1, 104]], [2, 2, 5, 6]], [[], 5]], [[[[0, 0, 12, 14, 1, 8, -1], [0, 1, 6, 12, 2, 5, -1], [0, 5, 1, 12, 3, 4, -1], [0, 5, 0, 5, -1, -1, 106], [0, 12, 1, 12, -1, -1, 105], [1, 1, 6, 6, 6, 7, -1], [1, 1, 1, 2, -1, -1, 102], [3, 5, 6, 6, -1, -1, 104], [5, 0, 12, 14, 9, 12, -1], [5, 2, 7, 14, 10, 11, -1], [5, 2, 6, 2, -1, -1, 101], [7, 12, 7, 14, -1, -1, 103], [6, 0, 12, 14, 13, 14, -1], [6, 0, 9, 2, -1, -1, 100], [9, 12, 12, 14, -1, -1, 107]], [1, 0, 3, 2]], [[102], 7]], [[[[1, 0, 11, 14, 1, 4, -1], [1, 12, 3, 14, 2, 3, -1], [1, 12, 3, 14, -1, -1, 103], [2, 12, 3, 12, -1, -1, 102], [7, 0, 11, 6, 5, 6, -1], [7, 0, 7, 1, -1, -1, 100], [8, 2, 11, 6, 7, 8, -1], [8, 2, 9, 5, -1, -1, 101], [8, 3, 11, 6, -1, -1, 104]], [5, 10, 6, 10]], [[], 3]]], [[[[[0, 3, 13, 15, 1, 4, -1], [0, 3, 10, 12, 2, 3, -1], [0, 3, 0, 4, -1, -1, 103], [7, 9, 10, 12, -1, -1, 101], [12, 3, 13, 15, 5, 6, -1], [12, 3, 12, 5, -1, -1, 100], [12, 12, 13, 15, -1, -1, 102]], [4, 12, 8, 14]], [[101], 5]], [[[[9, 2, 10, 8, 1, 2, -1], [9, 2, 10, 2, -1, -1, 100], [10, 7, 10, 8, -1, -1, 101]], [3, 6, 4, 7]], [[], 1]], [[[[0, 1, 11, 9, 1, 4, -1], [0, 2, 6, 5, 2, 3, -1], [0, 2, 2, 4, -1, -1, 103], [5, 4, 6, 5, -1, -1, 104], [5, 1, 11, 9, 5, 6, -1], [5, 9, 7, 9, -1, -1, 102], [7, 1, 11, 7, 7, 8, -1], [7, 4, 10, 7, -1, -1, 101], [10, 1, 11, 3, -1, -1, 100]], [7, 1, 7, 3]], [[], 7]], [[[[3, 2, 14, 13, 1, 8, -1], [3, 3, 8, 13, 2, 5, -1], [3, 3, 6, 11, 3, 4, -1], [3, 10, 4, 11, -1, -1, 102], [3, 3, 6, 3, -1, -1, 100], [7, 9, 8, 13, 6, 7, -1], [7, 12, 7, 13, -1, -1, 103], [7, 9, 8, 11, -1, -1, 105], [8, 2, 14, 13, 9, 12, -1], [8, 6, 11, 13, 10, 11, -1], [8, 12, 10, 13, -1, -1, 101], [8, 6, 11, 6, -1, -1, 104], [11, 2, 14, 11, 13, 14, -1], [11, 2, 12, 2, -1, -1, 106], [12, 9, 14, 11, -1, -1, 107]], [12, 1, 15, 4]], [[106], 7]], [[[[0, 0, 14, 11, 1, 8, -1], [0, 4, 2, 11, 2, 5, -1], [0, 6, 2, 9, 3, 4, -1], [0, 6, 1, 9, -1, -1, 106], [0, 9, 2, 9, -1, -1, 104], [1, 4, 2, 11, 6, 7, -1], [1, 8, 2, 11, -1, -1, 101], [1, 4, 2, 6, -1, -1, 107], [2, 0, 14, 11, 9, 12, -1], [2, 0, 6, 11, 10, 11, -1], [2, 0, 4, 1, -1, -1, 105], [6, 10, 6, 11, -1, -1, 100], [8, 1, 14, 10, 13, 14, -1], [8, 2, 9, 4, -1, -1, 103], [9, 1, 14, 10, 15, 16, -1], [9, 9, 12, 10, -1, -1, 108], [11, 1, 14, 1, -1, -1, 102]], [4, 6, 5, 7]], [[], 7]], [[[[0, 0, 13, 11, 1, 6, -1], [0, 0, 3, 9, 2, 3, -1], [0, 6, 0, 9, -1, -1, 100], [1, 0, 3, 4, 4, 5, -1], [1, 0, 3, 1, -1, -1, 105], [2, 2, 2, 4, -1, -1, 106], [2, 2, 13, 11, 7, 10, -1], [2, 2, 4, 8, 8, 9, -1], [3, 2, 3, 2, -1, -1, 103], [2, 8, 4, 8, -1, -1, 104], [3, 6, 13, 11, 11, 12, -1], [3, 6, 5, 8, -1, -1, 101], [12, 10, 13, 11, -1, -1, 102]], [1, 8, 4, 10]], [[101, 104], 11]], [[[[2, 1, 15, 15, 1, 8, -1], [2, 3, 10, 9, 2, 5, -1], [2, 3, 4, 6, 3, 4, -1], [2, 3, 2, 4, -1, -1, 105], [2, 4, 4, 6, -1, -1, 101], [3, 4, 10, 9, 6, 7, -1], [3, 6, 5, 9, -1, -1, 104], [7, 4, 10, 7, -1, -1, 107], [8, 1, 15, 15, 9, 12, -1], [8, 1, 10, 9, 10, 11, -1], [8, 8, 10, 9, -1, -1, 103], [9, 1, 10, 4, -1, -1, 100], [11, 11, 15, 15, 13, 14, -1], [11, 11, 11, 13, -1, -1, 106], [12, 12, 15, 15, -1, -1, 102]], [0, 4, 3, 8]], [[101, 104, 105], 9]], [[[[10, 2, 11, 5, -1, -1, 100]], [0, 11, 3, 14]], [[], 1]]], [[[[[2, 1, 13, 14, 1, 8, -1], [2, 2, 10, 14, 2, 5, -1], [2, 6, 5, 14, 3, 4, -1], [2, 11, 5, 14, -1, -1, 101], [5, 6, 5, 7, -1, -1, 105], [5, 2, 10, 12, 6, 7, -1], [5, 10, 6, 12, -1, -1, 103], [7, 2, 10, 2, -1, -1, 106], [7, 1, 13, 9, 9, 12, -1], [7, 2, 12, 9, 10, 11, -1], [7, 2, 10, 3, -1, -1, 107], [9, 7, 12, 9, -1, -1, 104], [11, 1, 13, 6, 13, 14, -1], [11, 6, 12, 6, -1, -1, 100], [11, 1, 13, 1, -1, -1, 102]], [9, 6, 11, 10]], [[100, 104], 13]], [[[[0, 1, 14, 12, 1, 2, -1], [0, 4, 0, 6, -1, -1, 101], [0, 1, 14, 12, 3, 4, -1], [0, 1, 0, 3, -1, -1, 102], [11, 9, 14, 12, -1, -1, 100]], [8, 11, 10, 11]], [[], 5]], [[[[2, 4, 15, 15, 1, 4, -1], [2, 4, 7, 10, 2, 3, -1], [2, 4, 3, 5, -1, -1, 101], [5, 10, 7, 10, -1, -1, 104], [8, 7, 15, 15, 5, 6, -1], [8, 12, 9, 15, -1, -1, 103], [11, 7, 15, 13, 7, 8, -1], [11, 7, 12, 10, -1, -1, 102], [12, 12, 15, 13, -1, -1, 100]], [6, 7, 6, 10]], [[104], 5]], [[[[0, 0, 12, 12, 1, 8, -1], [0, 4, 11, 12, 2, 5, -1], [0, 4, 0, 7, 3, 4, -1], [0, 4, 0, 5, -1, -1, 102], [0, 6, 0, 7, -1, -1, 104], [8, 5, 11, 12, 6, 7, -1], [8, 5, 9, 5, -1, -1, 105], [8, 10, 11, 12, -1, -1, 106], [9, 0, 12, 11, 9, 12, -1], [9, 0, 11, 4, 10, 11, -1], [10, 2, 10, 4, -1, -1, 100], [9, 0, 11, 0, -1, -1, 101], [9, 8, 12, 11, 13, 14, -1], [9, 8, 11, 11, -1, -1, 103], [11, 11, 12, 11, -1, -1, 107]], [9, 3, 12, 5]], [[100, 105], 11]], [[[[3, 3, 13, 15, 1, 6, -1], [3, 3, 6, 10, 2, 3, -1], [3, 4, 4, 4, -1, -1, 100], [3, 3, 6, 10, 4, 5, -1], [3, 7, 4, 10, -1, -1, 101], [3, 3, 6, 4, -1, -1, 104], [9, 3, 13, 15, 7, 10, -1], [9, 9, 12, 15, 8, 9, -1], [9, 9, 9, 12, -1, -1, 105], [10, 12, 12, 15, -1, -1, 106], [11, 3, 13, 5, 11, 12, -1], [11, 4, 13, 5, -1, -1, 102], [12, 3, 13, 4, -1, -1, 103]], [12, 5, 13, 5]], [[102], 7]], [[[[3, 6, 12, 12, 1, 4, -1], [3, 6, 7, 9, 2, 3, -1], [3, 6, 6, 8, -1, -1, 101], [4, 6, 7, 9, -1, -1, 103], [8, 6, 12, 12, 5, 6, -1], [8, 7, 11, 9, -1, -1, 102], [10, 6, 12, 12, 7, 8, -1], [10, 6, 10, 7, -1, -1, 104], [11, 12, 12, 12, -1, -1, 100]], [10, 6, 13, 9]], [[102, 104], 7]], [[[[0, 1, 15, 12, 1, 8, -1], [0, 1, 9, 11, 2, 5, -1], [0, 1, 4, 4, 3, 4, -1], [0, 1, 0, 4, -1, -1, 106], [4, 1, 4, 3, -1, -1, 100], [6, 1, 9, 11, 6, 7, -1], [6, 11, 9, 11, -1, -1, 105], [7, 1, 9, 2, -1, -1, 104], [7, 3, 15, 12, 9, 12, -1], [7, 10, 10, 12, 10, 11, -1], [7, 12, 9, 12, -1, -1, 107], [7, 10, 10, 12, -1, -1, 101], [10, 3, 15, 12, 13, 14, -1], [10, 11, 13, 12, -1, -1, 103], [12, 3, 15, 7, 15, 16, -1], [12, 5, 15, 7, -1, -1, 102], [12, 3, 15, 5, -1, -1, 108]], [1, 8, 3, 11]], [[], 5]], [[[[0, 1, 13, 13, 1, 10, -1], [0, 1, 7, 10, 2, 5, -1], [0, 3, 2, 9, 3, 4, -1], [0, 8, 1, 9, -1, -1, 102], [2, 3, 2, 5, -1, -1, 103], [4, 1, 7, 10, 6, 7, -1], [4, 8, 7, 10, -1, -1, 104], [5, 1, 7, 8, 8, 9, -1], [5, 5, 7, 8, -1, -1, 100], [6, 1, 7, 4, -1, -1, 109], [7, 1, 13, 13, 11, 14, -1], [7, 8, 8, 11, 12, 13, -1], [7, 8, 7, 11, -1, -1, 101], [7, 8, 8, 11, -1, -1, 107], [7, 1, 13, 13, 15, 16, -1], [7, 6, 9, 6, -1, -1, 108], [9, 1, 13, 13, 17, 18, -1], [9, 10, 10, 13, -1, -1, 106], [12, 1, 13, 4, -1, -1, 105]], [8, 0, 11, 1]], [[], 9]]], [[[[[4, 2, 15, 13, 1, 2, -1], [4, 12, 5, 13, -1, -1, 101], [12, 2, 15, 9, 3, 4, -1], [12, 8, 13, 9, -1, -1, 102], [12, 2, 15, 3, -1, -1, 100]], [8, 2, 9, 5]], [[], 3]], [[[[0, 1, 11, 10, 1, 6, -1], [0, 1, 4, 8, 2, 3, -1], [0, 1, 0, 2, -1, -1, 101], [0, 3, 4, 8, 4, 5, -1], [0, 3, 0, 3, -1, -1, 104], [4, 7, 4, 8, -1, -1, 106], [7, 4, 11, 10, 7, 10, -1], [7, 4, 11, 8, 8, 9, -1], [7, 5, 7, 8, -1, -1, 100], [8, 4, 11, 7, -1, -1, 103], [11, 8, 11, 10, 11, 12, -1], [11, 8, 11, 9, -1, -1, 102], [11, 8, 11, 10, -1, -1, 105]], [2, 7, 5, 7]], [[106], 7]], [[[[0, 1, 11, 13, 1, 10, -1], [0, 2, 5, 12, 2, 5, -1], [0, 4, 5, 12, 3, 4, -1], [0, 10, 3, 12, -1, -1, 102], [2, 4, 5, 5, -1, -1, 104], [3, 2, 5, 8, 6, 7, -1], [3, 2, 5, 2, -1, -1, 101], [4, 5, 5, 8, 8, 9, -1], [4, 7, 4, 7, -1, -1, 108], [4, 5, 5, 8, -1, -1, 103], [4, 1, 11, 13, 11, 14, -1], [4, 2, 8, 13, 12, 13, -1], [4, 2, 6, 2, -1, -1, 106], [6, 12, 8, 13, -1, -1, 105], [9, 1, 11, 4, 15, 16, -1], [9, 4, 9, 4, -1, -1, 100], [9, 1, 11, 4, 17, 18, -1], [9, 3, 9, 4, -1, -1, 109], [9, 1, 11, 1, -1, -1, 107]], [4, 9, 8, 11]], [[], 11]], [[[[0, 0, 15, 13, 1, 8, -1], [0, 1, 5, 11, 2, 5, -1], [0, 1, 3, 10, 3, 4, -1], [0, 1, 2, 2, -1, -1, 101], [1, 7, 3, 10, -1, -1, 102], [2, 6, 5, 11, 6, 7, -1], [2, 9, 2, 11, -1, -1, 106], [4, 6, 5, 6, -1, -1, 103], [5, 0, 15, 13, 9, 12, -1], [5, 0, 8, 13, 10, 11, -1], [5, 10, 6, 13, -1, -1, 104], [5, 0, 8, 1, -1, -1, 100], [7, 0, 15, 3, 13, 14, -1], [7, 3, 8, 3, -1, -1, 107], [12, 0, 15, 3, -1, -1, 105]], [6, 0, 8, 0]], [[100], 9]], [[[[0, 0, 13, 14, 1, 8, -1], [0, 0, 5, 13, 2, 5, -1], [0, 0, 1, 7, 3, 4, -1], [0, 0, 0, 3, -1, -1, 103], [1, 5, 1, 7, -1, -1, 102], [0, 11, 5, 13, 6, 7, -1], [0, 12, 2, 13, -1, -1, 104], [4, 11, 5, 13, -1, -1, 107], [10, 1, 13, 14, 9, 12, -1], [10, 9, 12, 14, 10, 11, -1], [10, 9, 12, 11, -1, -1, 100], [10, 12, 12, 14, -1, -1, 101], [10, 1, 13, 3, 13, 14, -1], [10, 1, 13, 3, -1, -1, 105], [11, 2, 12, 3, 15, 16, -1], [11, 2, 12, 3, -1, -1, 108], [12, 2, 12, 3, -1, -1, 106]], [5, 9, 5, 11]], [[107], 7]], [[[[2, 0, 14, 12, 1, 8, -1], [2, 0, 6, 11, 2, 5, -1], [2, 4, 4, 8, 3, 4, -1], [2, 4, 2, 7, -1, -1, 101], [3, 7, 4, 8, -1, -1, 105], [3, 0, 6, 11, 6, 7, -1], [3, 0, 5, 3, -1, -1, 100], [6, 10, 6, 11, -1, -1, 106], [7, 1, 14, 12, 9, 12, -1], [7, 4, 10, 12, 10, 11, -1], [8, 10, 8, 12, -1, -1, 103], [7, 4, 10, 7, -1, -1, 104], [8, 1, 14, 6, 13, 14, -1], [8, 1, 10, 1, -1, -1, 102], [10, 3, 14, 6, 15, 16, -1], [10, 3, 10, 6, -1, -1, 108], [11, 4, 14, 6, -1, -1, 107]], [1, 2, 2, 6]], [[101], 7]], [[[[12, 12, 12, 12, -1, -1, 100]], [3, 8, 6, 8]], [[], 1]], [[[[0, 0, 15, 12, 1, 6, -1], [0, 2, 3, 12, 2, 3, -1], [0, 11, 3, 12, -1, -1, 101], [0, 2, 3, 10, 4, 5, -1], [0, 7, 3, 10, -1, -1, 106], [3, 2, 3, 5, -1, -1, 105], [4, 0, 15, 10, 7, 10, -1], [4, 3, 10, 10, 8, 9, -1], [4, 3, 6, 5, -1, -1, 103], [7, 8, 10, 10, -1, -1, 102], [9, 0, 15, 8, 11, 12, -1], [9, 5, 10, 8, -1, -1, 100], [12, 0, 15, 1, -1, -1, 104]], [8, 10, 11, 11]], [[102], 7]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, 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":"A deterministic bounded teaching model with stipulated toy conventions; not a production physics engine or spatial index. 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-collision_detection_broadphase-bvh-stack-query-leaf-identifier","generated_at":"2026-09-29T14:50:59.042346+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Broadphase stages decide which object pairs ever reach narrowphase; a wrong boundary, ordering or bookkeeping rule silently drops real contacts or floods the solver with false candidates.","root_cause":"hits.append(i) stores the node index.","sha256":"8555dcc476de9b7401a192a21bcc5ae5451ac4e79a0f478be79816583331a5aa","title":"BVH query reports node indices instead of leaf ids · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":44.556,"exit_code":1,"observations":[{"actual":[[-1],1],"check":"case 0","expected":[[100],1],"passed":false},{"actual":[[-1],7],"check":"case 1","expected":[[101],7],"passed":false},{"actual":[[],7],"check":"case 2","expected":[[],7],"passed":true},{"actual":[[],1],"check":"case 3","expected":[[],1],"passed":true},{"actual":[[],7],"check":"case 4","expected":[[],7],"passed":true},{"actual":[[-1,-1],5],"check":"case 5","expected":[[100,101],5],"passed":false},{"actual":[[],3],"check":"case 6","expected":[[],3],"passed":true},{"actual":[[-1],5],"check":"case 7","expected":[[101],5],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[-1], 1], \"expected\": [[100], 1], \"passed\": false}, {\"check\": \"case 1\", \"actual\": [[-1], 7], \"expected\": [[101], 7], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[], 7], \"expected\": [[], 7], \"passed\": true}, {\"check\": \"case 3\", \"actual\": [[], 1], \"expected\": [[], 1], \"passed\": true}, {\"check\": \"case 4\", \"actual\": [[], 7], \"expected\": [[], 7], \"passed\": true}, {\"check\": \"case 5\", \"actual\": [[-1, -1], 5], \"expected\": [[100, 101], 5], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[], 3], \"expected\": [[], 3], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[-1], 5], \"expected\": [[101], 5], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.826,"exit_code":1,"observations":[{"actual":[[0],1],"check":"case 0","expected":[[100],1],"passed":false},{"actual":[[7],7],"check":"case 1","expected":[[101],7],"passed":false},{"actual":[[],7],"check":"case 2","expected":[[],7],"passed":true},{"actual":[[],1],"check":"case 3","expected":[[],1],"passed":true},{"actual":[[],7],"check":"case 4","expected":[[],7],"passed":true},{"actual":[[1,3],5],"check":"case 5","expected":[[100,101],5],"passed":false},{"actual":[[],3],"check":"case 6","expected":[[],3],"passed":true},{"actual":[[2],5],"check":"case 7","expected":[[101],5],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[0], 1], \"expected\": [[100], 1], \"passed\": false}, {\"check\": \"case 1\", \"actual\": [[7], 7], \"expected\": [[101], 7], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[], 7], \"expected\": [[], 7], \"passed\": true}, {\"check\": \"case 3\", \"actual\": [[], 1], \"expected\": [[], 1], \"passed\": true}, {\"check\": \"case 4\", \"actual\": [[], 7], \"expected\": [[], 7], \"passed\": true}, {\"check\": \"case 5\", \"actual\": [[1, 3], 5], \"expected\": [[100, 101], 5], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[], 3], \"expected\": [[], 3], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[2], 5], \"expected\": [[101], 5], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}