{
 "seed": 20261006,
 "tasks": [
  {
   "id": "E1",
   "tier": "easy",
   "kind": "json",
   "prompt": "From this note, extract vendor, total (integer dollars, compute it), and due date (YYYY-MM-DD).\n\n\"Hey, got the bill from Pellucid Ferry Co. today. Lines:\n  6 x bolts @ $21.00\n  5 x sealant @ $38.00\n  2 x gaskets @ $9.00\nNo tax. They want it paid by 2026-10-17.\"\n\nAnswer as JSON {\"vendor\": str, \"total\": int, \"due\": str}.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": {
    "vendor": "Pellucid Ferry Co.",
    "total": 334,
    "due": "2026-10-17"
   }
  },
  {
   "id": "E2",
   "tier": "easy",
   "kind": "list",
   "prompt": "Categories:\n- GLINT: anything about being charged money\n- MOSS: login or password trouble\n- TARN: a physical item arrived damaged\n- WREN: a feature request\n\nLabel each ticket in order:\n1. Box was crushed and the lamp shade is bent.\n2. Please let me export to CSV.\n3. Why is there a $4 fee on my statement?\n4. Could you add a dark mode?\n5. The mug came cracked in the box.\n6. 2FA code keeps getting rejected.\n\nAnswer as a comma-separated list of labels, e.g. GLINT,MOSS,...\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": [
    "TARN",
    "WREN",
    "GLINT",
    "WREN",
    "TARN",
    "MOSS"
   ]
  },
  {
   "id": "E3",
   "tier": "easy",
   "kind": "int",
   "prompt": "A ferry carries 35 crates per trip and makes 4 trips a day. On the last day of a 4-day week it skips the final trip, and 5 crates are rejected at inspection over the whole week. How many crates passed inspection that week?\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": 520
  },
  {
   "id": "E4",
   "tier": "easy",
   "kind": "list",
   "prompt": "Sort these words by their LAST letter (a\u2192z); break ties by length (shorter first), then alphabetically: quiver, lintel, velvet, saffron, tundra, ember. Answer as a comma-separated list.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": [
    "tundra",
    "lintel",
    "saffron",
    "ember",
    "quiver",
    "velvet"
   ]
  },
  {
   "id": "M1",
   "tier": "medium",
   "kind": "intlist",
   "prompt": "GLYPH is a stack language over Python integers. Tokens run left to right:\n- an integer literal: push it\n- dup: copy top | drop: pop top | swap: swap top two | over: copy second-from-top to top\n- rot: (a b c -> b c a)  i.e. third-from-top moves to top\n- add, sub, mul: pop b then a, push a+b / a-b / a*b\n- mod: pop b then a, push a mod b using floored modulo (Python %), b is never 0\n- zig: pop a; push a*3+1 if a is odd, else a//2 (floor division)\n- rep N [ ... ]: run the bracketed body N times\n- ifz [ ... ]: pop a; run the body only if a == 0\nThe program starts with an empty stack.\n\nProgram:\n3 4 8 swap over mul 10 4 11 swap sub 4 mul mod rot 2 9\n\nWhat is the final stack, bottom to top? Answer as a comma-separated list of integers.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": [
    3,
    32,
    10,
    8,
    2,
    9
   ]
  },
  {
   "id": "H1",
   "tier": "hard",
   "kind": "intlist",
   "prompt": "GLYPH is a stack language over Python integers. Tokens run left to right:\n- an integer literal: push it\n- dup: copy top | drop: pop top | swap: swap top two | over: copy second-from-top to top\n- rot: (a b c -> b c a)  i.e. third-from-top moves to top\n- add, sub, mul: pop b then a, push a+b / a-b / a*b\n- mod: pop b then a, push a mod b using floored modulo (Python %), b is never 0\n- zig: pop a; push a*3+1 if a is odd, else a//2 (floor division)\n- rep N [ ... ]: run the bracketed body N times\n- ifz [ ... ]: pop a; run the body only if a == 0\nThe program starts with an empty stack.\n\nProgram:\n8 3 6 rep 4 [ 11 mul ] rot 10 rep 4 [ 10 add 4 5 ] over rep 3 [ drop zig ] 6 add over 3 rep 2 [ mul 2 drop ] sub 2 ifz [ rot drop 10 ] add mod mod rot 5 sub over mod 1 ifz [ sub mod rot ]\n\nWhat is the final stack, bottom to top? Answer as a comma-separated list of integers.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": [
    3,
    87846,
    8,
    4,
    -586,
    -571
   ]
  },
  {
   "id": "M2",
   "tier": "medium",
   "kind": "code",
   "prompt": "Write `ripple(xs: list[int]) -> list[int]`:\n1. For each index i, let d be (j - i) for the smallest j > i with xs[j] >= xs[i], or 0 if no such j. Set out[i] = xs[i] + d.\n2. Let k = sum(xs) mod len(xs) (Python floored modulo). Return out rotated LEFT by k positions.\nAn empty list returns [].\n\nReply with a single ```python code block containing the complete function (stdlib only, no I/O, no tests).",
   "gold": {
    "func": "ripple",
    "cases": [
     [
      [],
      []
     ],
     [
      [
       5
      ],
      [
       5
      ]
     ],
     [
      [
       3,
       3
      ],
      [
       4,
       3
      ]
     ],
     [
      [
       1,
       2,
       3
      ],
      [
       2,
       3,
       3
      ]
     ],
     [
      [
       3,
       2,
       1
      ],
      [
       3,
       2,
       1
      ]
     ],
     [
      [
       -4,
       7,
       -1,
       0
      ],
      [
       0,
       0,
       -3,
       7
      ]
     ],
     [
      [
       0,
       0,
       0,
       0,
       0
      ],
      [
       1,
       1,
       1,
       1,
       0
      ]
     ],
     [
      [
       -14,
       -7,
       9,
       -6,
       -4,
       -18,
       8,
       20,
       5
      ],
      [
       14,
       -5,
       -2,
       -17,
       9,
       20,
       5,
       -13,
       -6
      ]
     ],
     [
      [
       10,
       -2,
       2,
       12,
       -5,
       -11,
       -4
      ],
      [
       3,
       12,
       -3,
       -10,
       -4,
       13,
       -1
      ]
     ],
     [
      [
       -4,
       -6,
       -8,
       -20,
       18,
       -3,
       -11,
       0,
       -17,
       2,
       -8,
       -10
      ],
      [
       -1,
       -10,
       2,
       -16,
       2,
       -8,
       -10,
       0,
       -3,
       -6,
       -19,
       18
      ]
     ],
     [
      [
       12,
       14,
       3,
       0
      ],
      [
       14,
       3,
       0,
       13
      ]
     ],
     [
      [
       -9,
       -3,
       2,
       20,
       1,
       6,
       -4,
       -8,
       4,
       -11,
       5,
       -10
      ],
      [
       6,
       -2,
       -7,
       6,
       -10,
       5,
       -10,
       -8,
       -2,
       3,
       20,
       2
      ]
     ],
     [
      [
       -15,
       7,
       -1,
       11,
       -12
      ],
      [
       -14,
       9,
       0,
       11,
       -12
      ]
     ],
     [
      [
       14,
       20
      ],
      [
       15,
       20
      ]
     ],
     [
      [
       -18,
       -2,
       -5,
       -8,
       2,
       17,
       -16
      ],
      [
       17,
       -16,
       -17,
       1,
       -3,
       -7,
       3
      ]
     ],
     [
      [
       -3,
       -9,
       -3,
       20
      ],
      [
       -8,
       -2,
       20,
       -1
      ]
     ],
     [
      [
       13,
       -11,
       -16,
       20,
       6,
       11,
       -13,
       11
      ],
      [
       13,
       -12,
       11,
       16,
       -9,
       -15,
       20,
       7
      ]
     ],
     [
      [
       -14,
       -19,
       18,
       13
      ],
      [
       18,
       13,
       -12,
       -18
      ]
     ],
     [
      [
       18
      ],
      [
       18
      ]
     ],
     [
      [
       -3,
       11,
       13
      ],
      [
       -2,
       12,
       13
      ]
     ],
     [
      [
       9,
       -5,
       0,
       10,
       -16,
       -3,
       -2,
       8,
       -14,
       0,
       17
      ],
      [
       -15,
       -2,
       -1,
       11,
       -13,
       1,
       17,
       12,
       -4,
       1,
       17
      ]
     ],
     [
      [
       -4,
       -10,
       -11,
       10
      ],
      [
       -8,
       -10,
       10,
       -1
      ]
     ],
     [
      [
       1,
       -16,
       4,
       -17,
       1,
       -19,
       10,
       -13,
       -1
      ],
      [
       3,
       -18,
       10,
       -12,
       -1,
       3,
       -15,
       8,
       -16
      ]
     ],
     [
      [
       -13,
       17,
       15,
       -8,
       1,
       0,
       16,
       13,
       12,
       0,
       11,
       10
      ],
      [
       19,
       -7,
       3,
       1,
       16,
       13,
       12,
       1,
       11,
       10,
       -12,
       17
      ]
     ],
     [
      [
       -18,
       -13,
       -15,
       7,
       -4,
       -14,
       -4,
       13
      ],
      [
       -17,
       -11,
       -14,
       11,
       -2,
       -13,
       -3,
       13
      ]
     ],
     [
      [
       3,
       -3,
       -2,
       16,
       13,
       -6,
       -8,
       10,
       19,
       3
      ],
      [
       -4,
       -7,
       11,
       19,
       3,
       6,
       -2,
       -1,
       21,
       17
      ]
     ],
     [
      [
       19,
       9,
       -16,
       14,
       14,
       -17,
       7,
       -7,
       2
      ],
      [
       -6,
       2,
       19,
       11,
       -15,
       15,
       14,
       -16,
       7
      ]
     ],
     [
      [
       16,
       15,
       0,
       0,
       2,
       -20,
       18,
       6,
       6,
       14,
       -9,
       17
      ],
      [
       -19,
       18,
       7,
       7,
       16,
       -8,
       17,
       22,
       20,
       1,
       1,
       4
      ]
     ],
     [
      [
       11,
       4,
       13
      ],
      [
       5,
       13,
       13
      ]
     ],
     [
      [
       0,
       -3,
       -9,
       3,
       0,
       -19,
       4,
       9,
       5,
       -13,
       -9,
       12
      ],
      [
       2,
       -18,
       5,
       13,
       8,
       -12,
       -8,
       12,
       3,
       -1,
       -8,
       6
      ]
     ],
     [
      [
       -1,
       13,
       1,
       -7,
       10,
       6,
       5,
       12,
       0,
       -2,
       3
      ],
      [
       12,
       2,
       -1,
       3,
       0,
       13,
       3,
       -6,
       13,
       8,
       6
      ]
     ],
     [
      [
       -10,
       -18,
       13,
       8,
       -8,
       20,
       16
      ],
      [
       -8,
       -17,
       16,
       10,
       -7,
       20,
       16
      ]
     ],
     [
      [
       11,
       -16,
       3,
       -20,
       -17,
       -1,
       -2,
       -18
      ],
      [
       -16,
       -1,
       -2,
       -18,
       11,
       -15,
       3,
       -19
      ]
     ],
     [
      [
       9,
       20,
       -17,
       -16,
       10,
       -20
      ],
      [
       10,
       -20,
       10,
       20,
       -16,
       -15
      ]
     ],
     [
      [
       7,
       5,
       -11,
       -13,
       -18,
       -12,
       -4
      ],
      [
       -11,
       -17,
       -11,
       -4,
       7,
       5,
       -7
      ]
     ],
     [
      [
       2,
       -5,
       -10,
       15,
       15,
       -12,
       2,
       -4,
       -17,
       -1,
       -13,
       -4
      ],
      [
       15,
       -11,
       2,
       -2,
       -16,
       -1,
       -12,
       -4,
       5,
       -3,
       -9,
       16
      ]
     ],
     [
      [
       15,
       2,
       13,
       -16,
       -15,
       -4,
       20,
       19,
       -16,
       -2,
       10
      ],
      [
       -14,
       -3,
       20,
       19,
       -15,
       -1,
       10,
       21,
       3,
       17,
       -15
      ]
     ]
    ]
   }
  },
  {
   "id": "M3",
   "tier": "medium",
   "kind": "str",
   "prompt": "The Veltrine calendar has 7 months in order: Ashen (31 days), Brine (28 days), Cinder (30 days), Dross (33 days), Ember (29 days), Fallow (31 days), Gale (30 days). In a leap year Brine has 30 days instead of 28. A year is leap if divisible by 5 but not by 40.\nWhat date is 1769 days after 16 Brine 1122? Answer in the form `<day> <Month> <year>`, e.g. 4 Cinder 1112.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": "27 Dross 1130"
  },
  {
   "id": "M4",
   "tier": "medium",
   "kind": "grid",
   "prompt": "4 houses stand in a row, numbered 1 (left) to 4 (right). Each has one resident (names: Bram, Dagny, Evander, Ilsa), one color (olive, plum, slate, teal), and the resident drinks one drink (chicha, horchata, kvass, mate); all distinct.\n\nClues:\n1. Ilsa is somewhere left of the plum house.\n2. The mate drinker is next to Bram.\n3. Bram is next to the slate house.\n4. The olive house is next to the kvass drinker.\n5. The plum house is somewhere left of the kvass drinker.\n6. Dagny is somewhere left of the teal house.\n7. The chicha drinker is in house 3.\n\nThere is exactly one solution. Answer as JSON {\"1\": {\"name\":..,\"color\":..,\"drink\":..}, \"2\": ...}.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": {
    "1": {
     "name": "Ilsa",
     "color": "slate",
     "drink": "mate"
    },
    "2": {
     "name": "Bram",
     "color": "plum",
     "drink": "horchata"
    },
    "3": {
     "name": "Dagny",
     "color": "olive",
     "drink": "chicha"
    },
    "4": {
     "name": "Evander",
     "color": "teal",
     "drink": "kvass"
    }
   }
  },
  {
   "id": "H4",
   "tier": "hard",
   "kind": "grid",
   "prompt": "5 houses stand in a row, numbered 1 (left) to 5 (right). Each has one resident (names: Bram, Dagny, Evander, Fenna, Gideon), one color (coral, ochre, olive, slate, teal), and the resident drinks one drink (chicha, horchata, kvass, mate, sbiten); all distinct.\n\nClues:\n1. The slate house is somewhere left of Gideon.\n2. The slate house is next to the ochre house.\n3. The sbiten drinker is immediately left of the olive house.\n4. The kvass drinker is in house 2.\n5. Dagny is somewhere left of Bram.\n6. Bram is not the same house as the ochre house.\n7. The ochre house is somewhere left of the mate drinker.\n8. Dagny is the same house as the teal house.\n9. Fenna is the same house as the chicha drinker.\n10. Fenna is next to Dagny.\n11. Evander is next to the mate drinker.\n\nThere is exactly one solution. Answer as JSON {\"1\": {\"name\":..,\"color\":..,\"drink\":..}, \"2\": ...}.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": {
    "1": {
     "name": "Fenna",
     "color": "coral",
     "drink": "chicha"
    },
    "2": {
     "name": "Dagny",
     "color": "teal",
     "drink": "kvass"
    },
    "3": {
     "name": "Bram",
     "color": "slate",
     "drink": "horchata"
    },
    "4": {
     "name": "Evander",
     "color": "ochre",
     "drink": "sbiten"
    },
    "5": {
     "name": "Gideon",
     "color": "olive",
     "drink": "mate"
    }
   }
  },
  {
   "id": "H2",
   "tier": "hard",
   "kind": "code",
   "prompt": "Write `vault(grid: list[str]) -> int`: minimum total cost to walk from 'S' to 'E', or -1 if impossible.\nRules: move up/down/left/right, one cell at a time, staying in the grid. '#' is a wall. Entering any cell costs 1, plus d extra if the cell is a digit d (1-9). Lowercase a/b/c are keys: entering one picks it up permanently. Uppercase A/B/C are doors: you may enter only if you already hold the matching lowercase key. If there are exactly two '*' cells they are linked portals: while standing on one you may jump to the other at cost 0 (you may also just walk over them; with any other number of '*' they are plain floor). 'S', 'E', '.' are plain floor. Reaching E ends the walk. Grids are rectangular and may be up to 9x9.\n\nReply with a single ```python code block containing the complete function (stdlib only, no I/O, no tests).",
   "gold": {
    "func": "vault",
    "cases": [
     [
      [
       [
        "S.E"
       ]
      ],
      2
     ],
     [
      [
       [
        "S#E"
       ]
      ],
      -1
     ],
     [
      [
       [
        "SA.",
        "##.",
        "a.E"
       ]
      ],
      -1
     ],
     [
      [
       [
        "S9E"
       ]
      ],
      11
     ],
     [
      [
       [
        "S.#.E"
       ]
      ],
      -1
     ],
     [
      [
       [
        "*#####",
        "S#..E*"
       ]
      ],
      2
     ],
     [
      [
       [
        "..#.2..",
        ".*7.24.",
        "7.5....",
        "#E*8..#",
        "B....#.",
        ".#S..A."
       ]
      ],
      3
     ],
     [
      [
       [
        ".#..b",
        ".32.2",
        "..5SE",
        "#c...",
        ".##4."
       ]
      ],
      1
     ],
     [
      [
       [
        ".4b.6c",
        ".aC...",
        ".7.1..",
        ".S...2",
        "3.A.3.",
        "3.....",
        "#3E.8B"
       ]
      ],
      4
     ],
     [
      [
       [
        ".5....*.5",
        "S5c1C2.#b",
        "..##B4.E*",
        ".5..#...."
       ]
      ],
      13
     ],
     [
      [
       [
        "4.......",
        "...#.1.3",
        "...4.*..",
        "2.SE7...",
        "#...1#*.",
        "7.#5...."
       ]
      ],
      1
     ],
     [
      [
       [
        "S#*.",
        "#...",
        "#9*4",
        "E..5",
        "6...",
        "...8"
       ]
      ],
      -1
     ],
     [
      [
       [
        "..3.",
        "c3*b",
        "S8..",
        "*16#",
        "##..",
        "...3",
        ".98E",
        ".B47"
       ]
      ],
      16
     ],
     [
      [
       [
        "5.9.1.4",
        ".c5.8..",
        "49.4E.#",
        ".......",
        "b#1....",
        "..S...C",
        "..#..3."
       ]
      ],
      5
     ],
     [
      [
       [
        "...a",
        "A8B.",
        "*C..",
        "#.#.",
        "....",
        "*.E9",
        "#b..",
        "cS.#"
       ]
      ],
      3
     ],
     [
      [
       [
        "....#...",
        ".S.#615#",
        "88....#.",
        "3E.#.*.#",
        "#..#6.#.",
        "..#.#76.",
        "B5..##.#",
        ".24.#4.*"
       ]
      ],
      4
     ],
     [
      [
       [
        "#S..",
        ".#7.",
        "..5C",
        "....",
        "..87",
        "....",
        "E.75",
        "8..2",
        ".5##"
       ]
      ],
      21
     ],
     [
      [
       [
        ".47#.*",
        ".#.B..",
        ".6..#.",
        "6*...1",
        "19.#6#",
        "7.E2b.",
        "1##.S.",
        "1..CA.",
        "......"
       ]
      ],
      5
     ],
     [
      [
       [
        "....",
        "..8.",
        "..8#",
        "#..A",
        ".B.6",
        "..61",
        "3a..",
        ".C.4",
        "S85E"
       ]
      ],
      14
     ],
     [
      [
       [
        "...81....",
        ".c.74249a",
        ".7..#1#..",
        "..#B31.18",
        "97...*#..",
        ".b...#E..",
        ".#.*.7...",
        "..#6..#..",
        "..A2C.S8."
       ]
      ],
      12
     ],
     [
      [
       [
        "#.S.",
        ".6..",
        ".#..",
        "E...",
        "....",
        "...4",
        "...8",
        "31.5"
       ]
      ],
      5
     ],
     [
      [
       [
        "*8...",
        "2S...",
        "*.B1.",
        ".....",
        ".9ba.",
        ".1.1.",
        "#.1..",
        "....5",
        "2.#5E"
       ]
      ],
      15
     ],
     [
      [
       [
        "a.6#...",
        "..44.3.",
        ".4.....",
        "#b#E.65",
        "3.13..B",
        ".#..#..",
        "..6.*3.",
        ".#.#S..",
        "..3.*7C"
       ]
      ],
      8
     ],
     [
      [
       [
        "....78.",
        "S#c35..",
        ".#7..2.",
        ".#..E..",
        "3.#.6..",
        "4...##.",
        "..B....",
        "...6..3"
       ]
      ],
      11
     ],
     [
      [
       [
        ".#.*",
        "a.*A",
        "E.2.",
        "4S.3"
       ]
      ],
      2
     ],
     [
      [
       [
        "2.4...",
        "....#9",
        "2S.##.",
        "*.8#9.",
        "#.#...",
        "#B13.#",
        ".*.#91",
        ".E..4."
       ]
      ],
      3
     ],
     [
      [
       [
        "5S6B..",
        "57.3..",
        "..4b..",
        ".E.A82",
        "...2.3",
        "4#.#.#"
       ]
      ],
      10
     ],
     [
      [
       [
        ".77.4.7..",
        "..S.E..##",
        "*..92...#",
        ".3..c...a",
        "...*...#."
       ]
      ],
      2
     ],
     [
      [
       [
        "..2.",
        ".3..",
        "..3.",
        "..6#",
        "....",
        "....",
        "*a..",
        ".#E7",
        "SB*."
       ]
      ],
      3
     ],
     [
      [
       [
        "8.##8.B",
        "...S.#.",
        "31.....",
        ".#1#.81",
        "3E77.7#",
        ".#..#..",
        ".7888.."
       ]
      ],
      13
     ],
     [
      [
       [
        "4..4#.8#7",
        "62#.E.87.",
        ".5....#94",
        "##...*.3.",
        "1S.1#*.#."
       ]
      ],
      6
     ],
     [
      [
       [
        "#.bS",
        "a7.9",
        "#B3.",
        "..cC",
        "#E.4"
       ]
      ],
      9
     ],
     [
      [
       [
        ".*.#....",
        "5E6..9.5",
        "4*..7...",
        ".6.....#",
        ".#.8.##6",
        "b#.Sc.#.",
        "1...9B.5",
        "5.##1..8"
       ]
      ],
      6
     ],
     [
      [
       [
        "5...",
        "S#.c",
        "##.8",
        "#.2.",
        "*6..",
        "...*",
        "...2",
        ".8E.",
        "36.."
       ]
      ],
      17
     ],
     [
      [
       [
        "..5#4#",
        "#84.5#",
        "..3B.9",
        "C#a...",
        "E7.#..",
        "S.b###"
       ]
      ],
      1
     ],
     [
      [
       [
        "...6..E",
        "9#2...#",
        "...3...",
        "85..B.#",
        "..#...S",
        "..7..c2",
        "#6.4...",
        "..#....",
        ".#3..#A"
       ]
      ],
      6
     ],
     [
      [
       [
        "#c#.",
        ".#A.",
        "a6.b",
        "4...",
        ".CS2",
        "EB.."
       ]
      ],
      9
     ],
     [
      [
       [
        "....#..E",
        "#5#...8.",
        ".1....#.",
        "..#5#A..",
        "....S..5",
        "#2.#..8.",
        "........",
        ".74.1.2."
       ]
      ],
      7
     ],
     [
      [
       [
        ".54#.....",
        "#a.E#.7..",
        "....#S#45",
        ".#..43.48",
        "..#3.#..#",
        ".#..7...#",
        "5#...A7#6",
        "...#6...1"
       ]
      ],
      12
     ],
     [
      [
       [
        ".#..",
        "1..C",
        "7S.c",
        "2.##",
        "#.#b",
        "....",
        "a*.#",
        ".BE*",
        "A..."
       ]
      ],
      5
     ],
     [
      [
       [
        ".#B.*.",
        "#.S...",
        "...71.",
        "..5#..",
        "#1#...",
        ".87..*",
        "9#3...",
        ".cE..A",
        "8..7.."
       ]
      ],
      8
     ],
     [
      [
       [
        "1#..E",
        "..5S.",
        "...##",
        "....."
       ]
      ],
      2
     ],
     [
      [
       [
        "SCB.",
        "a.E.",
        ".#c#",
        "..#b"
       ]
      ],
      3
     ],
     [
      [
       [
        ".#..#",
        ".....",
        "..#*.",
        ".#...",
        ".5...",
        ".6...",
        "*.42#",
        ".E.#.",
        "8...S"
       ]
      ],
      4
     ],
     [
      [
       [
        "6.75.4#68",
        "1a5.488#.",
        "54.C.##.#",
        "87...#.bA",
        "9##c.2#.#",
        ".8.*.*S.3",
        "...B.....",
        "#...E.1.."
       ]
      ],
      4
     ],
     [
      [
       [
        ".cEA",
        ".#.6",
        "....",
        "...6",
        ".B6.",
        ".#..",
        ".a3S",
        ".C#7"
       ]
      ],
      13
     ]
    ]
   }
  },
  {
   "id": "H3",
   "tier": "hard",
   "kind": "sched",
   "prompt": "Schedule 8 jobs on 2 identical machines (each machine runs one job at a time; jobs run without interruption; times are integers starting at 0).\nDurations: J1=5, J2=2, J3=1, J4=1, J5=2, J6=6, J7=4, J8=5.\nPrecedence (X before Y means Y starts no earlier than X finishes): J1 before J4, J3 before J6, J3 before J8, J4 before J8, J5 before J8, J6 before J8, J7 before J8.\nHeat rule: the 'hot' jobs J2, J5, J8 may never run at the same time as each other.\nMinimize the makespan (latest finish time). Answer as JSON mapping each job to its start time, e.g. {\"J1\": 0, ...}.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": {
    "dur": {
     "J1": 5,
     "J2": 2,
     "J3": 1,
     "J4": 1,
     "J5": 2,
     "J6": 6,
     "J7": 4,
     "J8": 5
    },
    "prec": [
     [
      "J1",
      "J4"
     ],
     [
      "J3",
      "J6"
     ],
     [
      "J3",
      "J8"
     ],
     [
      "J4",
      "J8"
     ],
     [
      "J5",
      "J8"
     ],
     [
      "J6",
      "J8"
     ],
     [
      "J7",
      "J8"
     ]
    ],
    "hot": [
     "J2",
     "J5",
     "J8"
    ],
    "machines": 2,
    "optimal": 16
   }
  },
  {
   "id": "X1",
   "tier": "extreme",
   "kind": "intlist",
   "prompt": "GLYPH is a stack language over Python integers. Tokens run left to right:\n- an integer literal: push it\n- dup: copy top | drop: pop top | swap: swap top two | over: copy second-from-top to top\n- rot: (a b c -> b c a)  i.e. third-from-top moves to top\n- add, sub, mul: pop b then a, push a+b / a-b / a*b\n- mod: pop b then a, push a mod b using floored modulo (Python %), b is never 0\n- zig: pop a; push a*3+1 if a is odd, else a//2 (floor division)\n- rep N [ ... ]: run the bracketed body N times\n- ifz [ ... ]: pop a; run the body only if a == 0\nThe program starts with an empty stack.\n\nProgram:\n4 8 3 mod zig 0 ifz [ 1 ] rot rep 2 [ swap 4 ] over 7 rep 3 [ over 2 sub swap ] dup 7 9 1 ifz [ mod 12 8 ] mod sub over mod rep 3 [ 9 7 1 mul ] rot rep 2 [ 3 1 add ] add swap zig drop 8 3 3 mul zig sub sub mod 9 sub add 4 drop drop add sub swap over rep 4 [ add add dup drop ] 12 rot mul mul 11 7\n\nWhat is the final stack, bottom to top? Answer as a comma-separated list of integers.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": [
    1,
    4,
    4,
    -132,
    11,
    7
   ]
  },
  {
   "id": "X2",
   "tier": "extreme",
   "kind": "str",
   "prompt": "The Veltrine calendar has 7 months in order: Ashen (31 days), Brine (28 days), Cinder (30 days), Dross (33 days), Ember (29 days), Fallow (31 days), Gale (30 days). In a leap year Brine has 30 days instead of 28. A year is leap if divisible by 5 but not by 40. Veltrine weeks have 9 days in order: Ord, Pell, Quist, Rhee, Sorn, Tavi, Ulm, Vane, Wick (then back to Ord).\n22 Gale 1228 was a Wick. What are the date and weekday 42453 days later? Answer in the form `<Weekday> <day> <Month> <year>`, e.g. Rhee 4 Cinder 1112.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": "Wick 5 Gale 1428"
  },
  {
   "id": "X3",
   "tier": "extreme",
   "kind": "code",
   "prompt": "Write `vault2(grid: list[str]) -> int`: minimum total cost to walk from 'S' to 'E', or -1 if impossible.\nRules: move up/down/left/right one cell at a time inside the grid. '#' is a wall. Entering any cell costs 1, plus d extra if the cell is a digit d (1-9); re-entering a digit cell costs the same again.\nLowercase a/b/c are key cells. The FIRST time you enter a given key cell you pick up one key of that letter; that cell gives nothing on later visits (it then acts as plain floor). You can carry any number of keys.\nUppercase A/B/C are doors. The first time you enter a given door cell you must spend (consume) one matching key you are carrying; if you have none you cannot enter. Once a particular door cell has been opened it stays open and can be re-entered for free (no key). Each door cell is opened separately.\n'S', 'E', '.' are plain floor. Reaching E ends the walk. Grids are rectangular, up to 10x10, with at most 4 key cells and 4 door cells.\n\nReply with a single ```python code block containing the complete function (stdlib only, no I/O, no tests).",
   "gold": {
    "func": "vault2",
    "cases": [
     [
      [
       [
        "SaAAE"
       ]
      ],
      -1
     ],
     [
      [
       [
        "SaaAAE"
       ]
      ],
      5
     ],
     [
      [
       [
        "SA",
        "aE"
       ]
      ],
      2
     ],
     [
      [
       [
        "aSAbBE"
       ]
      ],
      6
     ],
     [
      [
       [
        "S.a",
        "#A#",
        "EA."
       ]
      ],
      -1
     ],
     [
      [
       [
        "Sa.",
        "AAE"
       ]
      ],
      3
     ],
     [
      [
       [
        "#..#.c",
        ".6.B..",
        "S.#E6.",
        "..##.B",
        "#.#Bb#",
        ".4..6.",
        "..7B.."
       ]
      ],
      27
     ],
     [
      [
       [
        "C..7...9",
        "97...#B.",
        "..2#.A.A",
        "a#..3.#4",
        "S....86a",
        ".1.6.#6E",
        "..81#.7b"
       ]
      ],
      22
     ],
     [
      [
       [
        "E1318.9.ba",
        "..1#1.1BSa",
        "cB...#3..#",
        "A3.6956#A.",
        "36.....885"
       ]
      ],
      16
     ],
     [
      [
       [
        "S7b.8",
        "b.A.C",
        "..#BE",
        "..#.8",
        ".cB.."
       ]
      ],
      13
     ],
     [
      [
       [
        "7...#...A.",
        "...c37..a.",
        "..2EAA....",
        "...B.#...8",
        "#..6..6S.."
       ]
      ],
      18
     ],
     [
      [
       [
        ".....",
        "..AE.",
        ".B.91",
        "#cA6#",
        ".6.1.",
        "9#...",
        "SaC.#",
        ".2...",
        ".5..#",
        ".8.#."
       ]
      ],
      23
     ],
     [
      [
       [
        ".E##..",
        "BcC.2.",
        ".86..S",
        "..B..b",
        "2..5#."
       ]
      ],
      16
     ],
     [
      [
       [
        "..E...#",
        ".......",
        ".#4...7",
        ".#..#.#",
        "#25b9C.",
        "a.5Ac7.",
        "9A.2.6.",
        "S.#51b."
       ]
      ],
      25
     ],
     [
      [
       [
        "5E.CC2",
        ".7.#.5",
        "#7#.#.",
        "#...B.",
        ".22...",
        "#69#.c",
        "7.#S3#",
        "...bBa"
       ]
      ],
      27
     ],
     [
      [
       [
        ".3..4.",
        "36A.a.",
        ".EA58S",
        "#bB...",
        "b328.."
       ]
      ],
      11
     ],
     [
      [
       [
        "#.4....",
        ".24.4S.",
        "48#7c5.",
        "#1#aC..",
        "#C.9..9",
        ".E##...",
        ".1..#c.",
        "a....#C",
        "19.89..",
        "B...#.."
       ]
      ],
      23
     ],
     [
      [
       [
        "b.....C",
        ".S.#19.",
        "...5B.5",
        "..9.c.B",
        "..5.83E",
        "c6.5.B."
       ]
      ],
      16
     ],
     [
      [
       [
        "#...17",
        "......",
        "..aAAS",
        "49.#8C",
        ".8Ca.E"
       ]
      ],
      20
     ],
     [
      [
       [
        "89..B.5..S",
        "8B..8.#A.#",
        "..##9.....",
        ".aE2.#b49#",
        "362#.8...3"
       ]
      ],
      21
     ],
     [
      [
       [
        "..c..",
        "4.AE#",
        "##A#c",
        "..5S.",
        "3.aC1"
       ]
      ],
      -1
     ],
     [
      [
       [
        "BE9c.",
        "24#.9",
        ".#.16",
        "BaS..",
        "4c5..",
        ".b.A."
       ]
      ],
      16
     ],
     [
      [
       [
        ".1...",
        "8....",
        "5b.##",
        ".#B#E",
        "3.S.B",
        "..35."
       ]
      ],
      29
     ],
     [
      [
       [
        "#7.8#4#.",
        "4.AA..ac",
        "..7..63.",
        "E.821#.#",
        ".#.29..S",
        ".#.#5b7B"
       ]
      ],
      22
     ],
     [
      [
       [
        "..B.BE",
        "##.793",
        "#...#.",
        ".5...#",
        "..#...",
        "2C..S.",
        "4..#aA",
        "....b."
       ]
      ],
      19
     ],
     [
      [
       [
        ".1..c.",
        "..##8.",
        "4#EB67",
        "..6B..",
        ".9..9.",
        "....3#",
        "..S..5",
        "..b3.#",
        ".6...."
       ]
      ],
      10
     ],
     [
      [
       [
        ".c.C...",
        "#884.C#",
        "..#.#Ea",
        "63S.3##",
        "9.1.5..",
        ".817.b.",
        "4.#A.b#",
        ".2...3.",
        "C..#..5"
       ]
      ],
      33
     ],
     [
      [
       [
        "...a.",
        "....7",
        ".b89.",
        ".a#..",
        "c92#S",
        "277E#",
        "..6B#",
        ".B..."
       ]
      ],
      31
     ],
     [
      [
       [
        "S..2..C",
        ".C#..#E",
        ".c.#a.#",
        "..87a8.",
        "#..4.#b",
        "C.1.43A",
        ".9.8.9."
       ]
      ],
      15
     ],
     [
      [
       [
        "2.B9#",
        ".C.CS",
        ".C3ca",
        ".3.c.",
        "E.#1."
       ]
      ],
      10
     ],
     [
      [
       [
        "S2.63.A.",
        "B...#3..",
        ".Aa#6.6#",
        "4.9a88..",
        ".Aa.7...",
        "..#...#.",
        ".765.E21"
       ]
      ],
      22
     ],
     [
      [
       [
        ".3.4.#",
        "5.6#6.",
        ".8.7##",
        "SA..a.",
        ".2.6bb",
        "..6.##",
        ".8A#.E",
        "A895..",
        "A.6..5"
       ]
      ],
      34
     ],
     [
      [
       [
        "S...c",
        "..#.#",
        ".a8..",
        ".B.c.",
        "..9.1",
        "#....",
        ".A5#C",
        "..A.#",
        "..3E#"
       ]
      ],
      16
     ],
     [
      [
       [
        "...9...",
        "c5.#19.",
        "5A6.#aS",
        "b..AA2.",
        "E#..4.."
       ]
      ],
      14
     ],
     [
      [
       [
        "..S.A39..",
        "3.49#.b.3",
        "c.b..B..A",
        "....a.6B.",
        "...3.##E8"
       ]
      ],
      13
     ],
     [
      [
       [
        "..#7#C",
        ".9..a7",
        "35.a2#",
        "5E..4#",
        "#.9#4#",
        "8.C#c8",
        "#9.C.S"
       ]
      ],
      15
     ],
     [
      [
       [
        ".3......",
        "S..447.9",
        "c1..#8..",
        "..7.....",
        ".92B#25.",
        "C8.92...",
        "...6#C87",
        "##.#.#..",
        "ECa56#1."
       ]
      ],
      20
     ],
     [
      [
       [
        "8#a#..",
        "1#.C9.",
        "S1#.a.",
        "B..#E.",
        "b6.B.b"
       ]
      ],
      22
     ],
     [
      [
       [
        ".c.81",
        ".SC.B",
        "1C.5E",
        ".b.66",
        "29..."
       ]
      ],
      11
     ],
     [
      [
       [
        "#....3",
        "C.B9..",
        "#987..",
        "EA2S##",
        ".9A5..",
        "#...86",
        ".....2",
        "aa.1.."
       ]
      ],
      21
     ],
     [
      [
       [
        "#....A.2.",
        "...b.....",
        "E..77.6..",
        ".A.#2...B",
        "C28..##8.",
        "8.#S#..#."
       ]
      ],
      14
     ],
     [
      [
       [
        "..#...4.",
        ".7A....9",
        ".b4#.1#7",
        "......#.",
        "..9.3...",
        "...C.#..",
        "...377c.",
        "6.9.4...",
        "..5.ES9.",
        "#.427.6a"
       ]
      ],
      1
     ],
     [
      [
       [
        "9...487.73",
        "#B5..8A#3.",
        "..S4....b.",
        "...5....52",
        "746.16E79#",
        ".b9159.C.#"
       ]
      ],
      10
     ],
     [
      [
       [
        "#9#.5.",
        ".a.4SA",
        "#94#A.",
        "c.B.aE",
        "55..B."
       ]
      ],
      17
     ],
     [
      [
       [
        ".5...",
        "..S.9",
        "....E",
        "a2.6B",
        "c....",
        "#9#a."
       ]
      ],
      3
     ],
     [
      [
       [
        "...A.S..4.",
        "##b..3c.8E",
        ".c.#.....C",
        "..#.8#7#.6",
        "b2....9.1#"
       ]
      ],
      7
     ],
     [
      [
       [
        "7.a1.",
        "65..#",
        "E.b.#",
        "#3.8#",
        "..c..",
        "S..B."
       ]
      ],
      7
     ],
     [
      [
       [
        "..#E...",
        ".A.a.A.",
        "ab1S.#.",
        "3#..6#2",
        "#...#Ac"
       ]
      ],
      2
     ],
     [
      [
       [
        "7.B7.E.b.",
        "..S#..6.#",
        ".a7.8...7",
        ".A#.48..8",
        "....4B.8c",
        ".C..31.1."
       ]
      ],
      20
     ],
     [
      [
       [
        "23..6...",
        ".4.S.8..",
        "...a...6",
        ".#1#2.#9",
        "#...C78.",
        ".3..91..",
        "#6A...4#",
        ".1##..#.",
        "C...E6.."
       ]
      ],
      11
     ],
     [
      [
       [
        "75.24.8A",
        ".9#.#.C.",
        ".##.7E..",
        "3.C8..B8",
        ".S##.#..",
        "..6#...#",
        "5.49...7",
        "...6.#..",
        "..9..#.a"
       ]
      ],
      18
     ],
     [
      [
       [
        "b.....#",
        "...##.7",
        "..84.#.",
        "#1.3.5.",
        "B6....4",
        "....Cb.",
        "6..11..",
        "2..8.S4",
        "..E..4b"
       ]
      ],
      4
     ],
     [
      [
       [
        "3.#.63B.#",
        ".6..#..9.",
        "2..#CA#8S",
        "9.1...9c#",
        "245....E#",
        ".918....6"
       ]
      ],
      11
     ],
     [
      [
       [
        "...7.4.",
        "27...#5",
        ".a249S.",
        "##..b.2",
        "..cE...",
        "5...C..",
        ".#58#.5"
       ]
      ],
      4
     ],
     [
      [
       [
        "3.......",
        ".1....89",
        "..S#..C.",
        "#a.a.#..",
        "8#..E.a#",
        "A.6.c.2.",
        "...#4.8."
       ]
      ],
      4
     ],
     [
      [
       [
        "#B77B.2",
        "....c.8",
        "..4b...",
        ".9.#4.a",
        "..3...1",
        "###SE7.",
        "bC..5.2"
       ]
      ],
      1
     ],
     [
      [
       [
        "..C#..#.S.",
        "#.#.E.#4#.",
        "..#.99..8#",
        ".c9.#5...4",
        ".......5..",
        "....8....3",
        "...9..33..",
        "....#..5.1",
        ".2#8..5...",
        ".2.b2...7."
       ]
      ],
      17
     ],
     [
      [
       [
        "b.45.#",
        ".1b6E.",
        "..#b..",
        ".2SA8.",
        "#.b82#",
        "71#.4#",
        "....#."
       ]
      ],
      15
     ],
     [
      [
       [
        "....S",
        "..B..",
        ".a..8",
        "2.#.6",
        "..cE.",
        "..A..",
        "..4.#",
        "9#1##",
        "..1..",
        "....4"
       ]
      ],
      5
     ],
     [
      [
       [
        "2.b.#..B",
        ".E......",
        ".a4B.22#",
        "B#..#..8",
        "b..8#S.4",
        "...1...."
       ]
      ],
      9
     ],
     [
      [
       [
        "..B7...",
        "#.#.85.",
        ".2.8..b",
        "...7..B",
        ".....41",
        ".E.A.#.",
        "3.2#9.9",
        "S.....b",
        "....#.."
       ]
      ],
      3
     ],
     [
      [
       [
        ".....8.",
        "#6C...2",
        "2#..CE.",
        "#2#A.4A",
        "7b.1.c9",
        "6#.....",
        ".1c..#.",
        "..#S191"
       ]
      ],
      9
     ],
     [
      [
       [
        "..c.5.",
        "#C##96",
        ".1.E4#",
        "..#8S#",
        ".24..B",
        ".5..8.",
        ".#.2#c",
        ".#4a.."
       ]
      ],
      6
     ],
     [
      [
       [
        "..863#..",
        "2.##.5#.",
        ".8.c1...",
        ".##E.455",
        "bS.A.1..",
        "..11.73.",
        "9..3..7.",
        ".#.4....",
        ".7..#.9."
       ]
      ],
      9
     ],
     [
      [
       [
        "c..B1#",
        "6.b..9",
        "7..1.B",
        ".#..9.",
        "#..#..",
        "6A....",
        ".ES.7#"
       ]
      ],
      1
     ],
     [
      [
       [
        ".2#..Sc.#",
        ".59..#6C3",
        ".#1..5c..",
        "1...b6...",
        ".96..#64.",
        "6E...#..."
       ]
      ],
      9
     ]
    ]
   }
  },
  {
   "id": "X4",
   "tier": "extreme",
   "kind": "sched",
   "prompt": "Schedule 9 jobs on 2 identical machines (each machine runs one job at a time; jobs run without interruption; times are integers starting at 0).\nDurations: J1=6, J2=1, J3=2, J4=1, J5=4, J6=5, J7=2, J8=4, J9=3.\nRelease times (a job may not start before this): J1=4, J3=4, J5=6, J8=6 (all others 0).\nPrecedence (X before Y means Y starts no earlier than X finishes): J1 before J3, J1 before J8, J2 before J3, J4 before J7, J5 before J7, J5 before J8, J6 before J7, J8 before J9.\nHeat rule: the 'hot' jobs J1, J2, J5 may never run at the same time as each other.\nMinimize the makespan (latest finish time). Answer as JSON mapping each job to its start time, e.g. {\"J1\": 0, ...}.\n\nThink as long as you need, then give ONLY the final answer inside <answer></answer> tags.",
   "gold": {
    "dur": {
     "J1": 6,
     "J2": 1,
     "J3": 2,
     "J4": 1,
     "J5": 4,
     "J6": 5,
     "J7": 2,
     "J8": 4,
     "J9": 3
    },
    "prec": [
     [
      "J1",
      "J3"
     ],
     [
      "J1",
      "J8"
     ],
     [
      "J2",
      "J3"
     ],
     [
      "J4",
      "J7"
     ],
     [
      "J5",
      "J7"
     ],
     [
      "J5",
      "J8"
     ],
     [
      "J6",
      "J7"
     ],
     [
      "J8",
      "J9"
     ]
    ],
    "hot": [
     "J1",
     "J2",
     "J5"
    ],
    "rel": {
     "J1": 4,
     "J2": 0,
     "J3": 4,
     "J4": 0,
     "J5": 6,
     "J6": 0,
     "J7": 0,
     "J8": 6,
     "J9": 0
    },
    "machines": 2,
    "optimal": 21
   }
  }
 ]
}