Answer:
SELECT n FROM nums
ORDER BY n
LIMIT 2 OFFSET 1;

Return exactly the specified columns and order

SELECT n FROM nums
ORDER BY n
LIMIT 2 OFFSET 1;

Read the schema
Write a query
Check row order and values

Prompt:
nums(n) sorted ascending. Return the second and third smallest n using LIMIT/OFFSET.

Schema and seed data:
CREATE TABLE nums (n INTEGER);
INSERT INTO nums VALUES (9), (1), (4), (2);

OPEN_REASON_RESULT {"passed": true, "rows": [[2], [4]], "expected": [[2], [4]], "tests_run": 1, "failures": 0, "errors": 0}


Answer:
SELECT region
FROM sales
GROUP BY region
HAVING AVG(amount) >= 10
ORDER BY region;

Return exactly the specified columns and order

SELECT region
FROM sales
GROUP BY region
HAVING AVG(amount) >= 10
ORDER BY region;

Read the schema
Write a query
Check row order and values

Prompt:
sales(region, amount). Return regions whose average amount is at least 10, ordered by region.

Schema and seed data:
CREATE TABLE sales (region TEXT, amount INTEGER);
INSERT INTO sales VALUES ('east', 8), ('east', 12), ('west', 4), ('west', 5), ('north', 20);

OPEN_REASON_RESULT {"passed": true, "rows": [["east"], ["north"]], "expected": [["east"], ["north"]], "tests_run": 1, "failures": 0, "errors": 0}


Answer:
function sortBy(items, key) {
 return items
 .map((item, index) => ({ item, index }))
 .sort((a, b) => {
 const d = key(a.item) - key(b.item);
 return d !== 0 ? d : a.index - b.index;
 })
 .map((row) => row.item);
}
module.exports = { sortBy };

Node.js standard library only
CommonJS module.exports

function sortBy(items, key) {
  return items
    .map((item, index) => ({ item, index }))
    .sort((a, b) => {
      const d = key(a.item) - key(b.item);
      return d !== 0 ? d : a.index - b.index;
    })
    .map((row) => row.item);
}
module.exports = { sortBy };

const assert = require('assert');
const { sortBy } = require('./solution');
const got = sortBy(
  [{ n: 2, id: 'a' }, { n: 1, id: 'b' }, { n: 2, id: 'c' }],
  (x) => x.n
);
assert.deepStrictEqual(got.map((x) => x.id), ['b', 'a', 'c']);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement function sortBy(items, key) that returns a new array sorted by the numeric key, stable with respect to original order.


Answer:
function deepFreeze(obj) {
 if (obj === null || typeof obj !== 'object') return obj;
 Object.freeze(obj);
 for (const value of Object.values(obj)) {
 deepFreeze(value);
 }
 return obj;
}
module.exports = { deepFreeze };

Node.js standard library only
CommonJS module.exports

function deepFreeze(obj) {
  if (obj === null || typeof obj !== 'object') return obj;
  Object.freeze(obj);
  for (const value of Object.values(obj)) {
    deepFreeze(value);
  }
  return obj;
}
module.exports = { deepFreeze };

const assert = require('assert');
const { deepFreeze } = require('./solution');
const o = { a: { b: 1 } };
deepFreeze(o);
assert.ok(Object.isFrozen(o) && Object.isFrozen(o.a));
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement deepFreeze(obj) that recursively Object.freeze arrays and plain objects and returns the same reference. Ignore functions.


Answer:
async function pool(limit, factories) {
 const results = new Array(factories.length);
 let next = 0;
 async function worker() {
 while (true) {
 const i = next++;
 if (i >= factories.length) return;
 results[i] = await factories[i]();
 }
 }
 const n = Math.min(limit, factories.length);
 await Promise.all(Array.from({ length: n }, () => worker()));
 return results;
}
module.exports = { pool };

Node.js standard library only
CommonJS module.exports

async function pool(limit, factories) {
  const results = new Array(factories.length);
  let next = 0;
  async function worker() {
    while (true) {
      const i = next++;
      if (i >= factories.length) return;
      results[i] = await factories[i]();
    }
  }
  const n = Math.min(limit, factories.length);
  await Promise.all(Array.from({ length: n }, () => worker()));
  return results;
}
module.exports = { pool };

const assert = require('assert');
const { pool } = require('./solution');
(async () => {
  let current = 0;
  let max = 0;
  const factories = [0, 1, 2, 3, 4].map((i) => async () => {
    current += 1;
    max = Math.max(max, current);
    await new Promise((r) => setTimeout(r, 20));
    current -= 1;
    return i * 2;
  });
  const got = await pool(2, factories);
  assert.deepStrictEqual(got, [0, 2, 4, 6, 8]);
  assert.ok(max <= 2);
  console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));
})().catch((err) => {
  console.error(err);
  process.exit(1);
});

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement async function pool(limit, factories) where factories is an array of () => Promise. Run at most `limit` at once. Return results in factory order.


Answer:
function mergeQuery(url, params) {
 const u = new URL(url);
 for (const [k, v] of Object.entries(params)) {
 u.searchParams.set(k, v);
 }
 return u.href;
}
module.exports = { mergeQuery };

Node.js standard library only
CommonJS module.exports

function mergeQuery(url, params) {
  const u = new URL(url);
  for (const [k, v] of Object.entries(params)) {
    u.searchParams.set(k, v);
  }
  return u.href;
}
module.exports = { mergeQuery };

const assert = require('assert');
const { mergeQuery } = require('./solution');
const got = mergeQuery('https://example.com/path?q=1&x=2', { x: '9', y: 'z' });
assert.strictEqual(got, 'https://example.com/path?q=1&x=9&y=z');
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement mergeQuery(url, params) using the WHATWG URL class. Overlay params (object of string values) onto the existing search params and return href without changing other components.


Answer:
function omit(obj, keys) {
 const skip = new Set(keys);
 const out = {};
 for (const [k, v] of Object.entries(obj)) {
 if (!skip.has(k)) out[k] = v;
 }
 return out;
}
module.exports = { omit };

Node.js standard library only
CommonJS module.exports

function omit(obj, keys) {
  const skip = new Set(keys);
  const out = {};
  for (const [k, v] of Object.entries(obj)) {
    if (!skip.has(k)) out[k] = v;
  }
  return out;
}
module.exports = { omit };

const assert = require('assert');
const { omit } = require('./solution');
assert.deepStrictEqual(omit({ a: 1, b: 2, c: 3 }, ['b']), { a: 1, c: 3 });
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement omit(obj, keys) returning a shallow clone without the listed keys.


Answer:
function lowerBound(arr, target) {
 let lo = 0;
 let hi = arr.length;
 while (lo < hi) {
 const mid = (lo + hi) >> 1;
 if (arr[mid] < target) lo = mid + 1;
 else hi = mid;
 }
 return lo;
}
module.exports = { lowerBound };

Node.js standard library only
CommonJS module.exports

function lowerBound(arr, target) {
  let lo = 0;
  let hi = arr.length;
  while (lo < hi) {
    const mid = (lo + hi) >> 1;
    if (arr[mid] < target) lo = mid + 1;
    else hi = mid;
  }
  return lo;
}
module.exports = { lowerBound };

const assert = require('assert');
const { lowerBound } = require('./solution');
assert.strictEqual(lowerBound([1, 3, 3, 7], 3), 1);
assert.strictEqual(lowerBound([1, 3, 7], 8), 3);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement lowerBound(arr, target) on a sorted numeric array: first index with arr[i] >= target, or arr.length.


Answer:
function debounce(fn, wait) {
 let timer = null;
 return function (...args) {
 const ctx = this;
 clearTimeout(timer);
 timer = setTimeout(() => fn.apply(ctx, args), wait);
 };
}
module.exports = { debounce };

Node.js standard library only
CommonJS module.exports

function debounce(fn, wait) {
  let timer = null;
  return function (...args) {
    const ctx = this;
    clearTimeout(timer);
    timer = setTimeout(() => fn.apply(ctx, args), wait);
  };
}
module.exports = { debounce };

const assert = require('assert');
const { debounce } = require('./solution');
(async () => {
  let n = 0;
  const f = debounce(() => { n += 1; }, 30);
  f(); f(); f();
  await new Promise((r) => setTimeout(r, 80));
  assert.strictEqual(n, 1);
  console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));
})().catch((err) => { console.error(err); process.exit(1); });

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement debounce(fn, wait) using setTimeout. Leading calls reset the timer. Return a function that forwards this and arguments.


Answer:
function parseCsvLine(line) {
 const out = [];
 let cur = '';
 let i = 0;
 let inQuotes = false;
 while (i < line.length) {
 const ch = line[i];
 if (inQuotes) {
 if (ch === '"') {
 if (line[i + 1] === '"') { cur += '"'; i += 2; continue; }
 inQuotes = false; i += 1; continue;
 }
 cur += ch; i += 1; continue;
 }
 if (ch === '"') { inQuotes = true; i += 1; continue; }
 if (ch === ',') { out.push(cur); cur = ''; i += 1; continue; }
 cur += ch; i += 1;
 }
 out.push(cur);
 return out;
}
module.exports = { parseCsvLine };

Node.js standard library only
CommonJS module.exports

function parseCsvLine(line) {
  const out = [];
  let cur = '';
  let i = 0;
  let inQuotes = false;
  while (i < line.length) {
    const ch = line[i];
    if (inQuotes) {
      if (ch === '"') {
        if (line[i + 1] === '"') { cur += '"'; i += 2; continue; }
        inQuotes = false; i += 1; continue;
      }
      cur += ch; i += 1; continue;
    }
    if (ch === '"') { inQuotes = true; i += 1; continue; }
    if (ch === ',') { out.push(cur); cur = ''; i += 1; continue; }
    cur += ch; i += 1;
  }
  out.push(cur);
  return out;
}
module.exports = { parseCsvLine };

const assert = require('assert');
const { parseCsvLine } = require('./solution');
assert.deepStrictEqual(parseCsvLine('a,"b,c","d""e"'), ['a', 'b,c', 'd"e']);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement parseCsvLine(line) splitting on commas, supporting double-quoted fields with doubled quotes as escape. Return string[].


Answer:
function uniqueStable(xs) {
 const out = [];
 const seen = new Set();
 for (const x of xs) {
 if (seen.has(x)) continue;
 seen.add(x);
 out.push(x);
 }
 return out;
}
module.exports = { uniqueStable };

Node.js standard library only
CommonJS module.exports

function uniqueStable(xs) {
  const out = [];
  const seen = new Set();
  for (const x of xs) {
    if (seen.has(x)) continue;
    seen.add(x);
    out.push(x);
  }
  return out;
}
module.exports = { uniqueStable };

const assert = require('assert');
const { uniqueStable } = require('./solution');
assert.deepStrictEqual(uniqueStable([1, 1, 2, 1, 3]), [1, 2, 3]);
assert.deepStrictEqual(uniqueStable([]), []);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement uniqueStable(xs) returning first-seen unique values of array xs using SameValueZero (Object.is except -0/+0).


Answer:
function deepGet(obj, path) {
 if (!path) return obj;
 const parts = path.split('.');
 let cur = obj;
 for (const p of parts) {
 if (cur == null || typeof cur !== 'object') return undefined;
 cur = cur[p];
 }
 return cur;
}
module.exports = { deepGet };

Node.js standard library only
CommonJS module.exports

function deepGet(obj, path) {
  if (!path) return obj;
  const parts = path.split('.');
  let cur = obj;
  for (const p of parts) {
    if (cur == null || typeof cur !== 'object') return undefined;
    cur = cur[p];
  }
  return cur;
}
module.exports = { deepGet };

const assert = require('assert');
const { deepGet } = require('./solution');
assert.strictEqual(deepGet({ a: { b: 2 } }, 'a.b'), 2);
assert.strictEqual(deepGet({ a: {} }, 'a.b'), undefined);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement deepGet(obj, path) where path is 'a.b.c'. Missing keys return undefined. Only plain objects; do not walk arrays as objects beyond numeric keys if present.


Answer:
function chunk(xs, n) {
 if (n < 1) return [];
 const out = [];
 for (let i = 0; i < xs.length; i += n) out.push(xs.slice(i, i + n));
 return out;
}
module.exports = { chunk };

Node.js standard library only
CommonJS module.exports

function chunk(xs, n) {
  if (n < 1) return [];
  const out = [];
  for (let i = 0; i < xs.length; i += n) out.push(xs.slice(i, i + n));
  return out;
}
module.exports = { chunk };

const assert = require('assert');
const { chunk } = require('./solution');
assert.deepStrictEqual(chunk([1, 2, 3, 4, 5], 2), [[1, 2], [3, 4], [5]]);
assert.deepStrictEqual(chunk([], 3), []);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement chunk(xs, n) splitting array xs into arrays of length n (last may be shorter).


Answer:
function once(fn) {
 let called = false;
 let value;
 return function (...args) {
 if (!called) {
 value = fn.apply(this, args);
 called = true;
 }
 return value;
 };
}
module.exports = { once };

Node.js standard library only
CommonJS module.exports

function once(fn) {
  let called = false;
  let value;
  return function (...args) {
    if (!called) {
      value = fn.apply(this, args);
      called = true;
    }
    return value;
  };
}
module.exports = { once };

const assert = require('assert');
const { once } = require('./solution');
let n = 0;
const f = once(() => { n += 1; return n; });
assert.strictEqual(f(), 1);
assert.strictEqual(f(), 1);
assert.strictEqual(n, 1);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 1, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement once(fn) that calls fn at most once and returns the first result thereafter.


Answer:
function parseQuery(q) {
 if (!q) return {};
 const out = {};
 for (const part of q.split('&')) {
 if (!part) continue;
 const i = part.indexOf('=');
 if (i < 0) out[part] = '';
 else out[part.slice(0, i)] = part.slice(i + 1);
 }
 return out;
}
module.exports = { parseQuery };

Node.js standard library only
CommonJS module.exports

function parseQuery(q) {
  if (!q) return {};
  const out = {};
  for (const part of q.split('&')) {
    if (!part) continue;
    const i = part.indexOf('=');
    if (i < 0) out[part] = '';
    else out[part.slice(0, i)] = part.slice(i + 1);
  }
  return out;
}
module.exports = { parseQuery };

const assert = require('assert');
const { parseQuery } = require('./solution');
assert.deepStrictEqual(parseQuery('a=1&b=2'), { a: '1', b: '2' });
assert.deepStrictEqual(parseQuery(''), {});
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement parseQuery('a=1&b=2') returning {a:'1', b:'2'}. No decoding beyond split on & and first =. Empty string is {}.


Answer:
function range(a, b) {
 if (a > b) return [];
 const out = [];
 for (let i = a; i <= b; i += 1) out.push(i);
 return out;
}
module.exports = { range };

Node.js standard library only
CommonJS module.exports

function range(a, b) {
  if (a > b) return [];
  const out = [];
  for (let i = a; i <= b; i += 1) out.push(i);
  return out;
}
module.exports = { range };

const assert = require('assert');
const { range } = require('./solution');
assert.deepStrictEqual(range(2, 4), [2, 3, 4]);
assert.deepStrictEqual(range(5, 4), []);
console.log('OPEN_REASON_RESULT ' + JSON.stringify({ passed: true, tests_run: 2, failures: 0, errors: 0 }));

Implement the exported function
Keep the public API
Pass the assertions

Prompt: Implement range(a,b) returning [a, a+1, ..., b] inclusive if a<=b else [].


Answer: Alex@10:00, Blair@09:00, Casey@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Alex forbidden=['09:00']
Blair forbidden=['11:00']
Casey forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Alex, Blair, Casey using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Alex cannot do ['09:00']; Blair cannot do ['11:00']; Casey is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Alex@10:00, Blair@09:00, Casey@11:00.


Answer: Blair@09:00, Casey@10:00, Drew@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Blair forbidden=['10:00']
Casey forbidden=['13:00']
Drew forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Blair, Casey, Drew using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Blair cannot do ['10:00']; Casey cannot do ['13:00']; Drew is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Blair@09:00, Casey@10:00, Drew@11:00.


Answer: Casey@09:00, Drew@10:00, Eden@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Casey forbidden=['11:00']
Drew forbidden=['14:00']
Eden forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Casey, Drew, Eden using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Casey cannot do ['11:00']; Drew cannot do ['14:00']; Eden is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Casey@09:00, Drew@10:00, Eden@11:00.


Answer: Alex@09:00, Blair@10:00, Casey@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Alex forbidden=['13:00']
Blair forbidden=['15:00']
Casey forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Alex, Blair, Casey using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Alex cannot do ['13:00']; Blair cannot do ['15:00']; Casey is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Alex@09:00, Blair@10:00, Casey@11:00.


Answer: Blair@10:00, Casey@11:00, Drew@09:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Blair forbidden=['09:00']
Casey forbidden=['09:00']
Drew forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Blair, Casey, Drew using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Blair cannot do ['09:00']; Casey cannot do ['09:00']; Drew is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Blair@10:00, Casey@11:00, Drew@09:00.


Answer: Casey@09:00, Drew@11:00, Eden@10:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Casey forbidden=['10:00']
Drew forbidden=['10:00']
Eden forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Casey, Drew, Eden using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Casey cannot do ['10:00']; Drew cannot do ['10:00']; Eden is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Casey@09:00, Drew@11:00, Eden@10:00.


Answer: Alex@09:00, Blair@10:00, Casey@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Alex forbidden=['11:00']
Blair forbidden=['11:00']
Casey forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Alex, Blair, Casey using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Alex cannot do ['11:00']; Blair cannot do ['11:00']; Casey is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.


Answer: Blair@09:00, Casey@10:00, Drew@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Blair forbidden=['13:00']
Casey forbidden=['13:00']
Drew forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Blair, Casey, Drew using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Blair cannot do ['13:00']; Casey cannot do ['13:00']; Drew is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.


Answer: Casey@10:00, Drew@09:00, Eden@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Casey forbidden=['09:00']
Drew forbidden=['14:00']
Eden forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Casey, Drew, Eden using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Casey cannot do ['09:00']; Drew cannot do ['14:00']; Eden is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.

Solution: Treat this as assigning distinct slots under exclusion constraints. One feasible assignment is Casey@10:00, Drew@09:00, Eden@11:00.


Answer: Alex@09:00, Blair@10:00, Casey@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Alex forbidden=['10:00']
Blair forbidden=['15:00']
Casey forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Alex, Blair, Casey using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Alex cannot do ['10:00']; Blair cannot do ['15:00']; Casey is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.


Answer: Blair@09:00, Casey@10:00, Drew@11:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Blair forbidden=['11:00']
Casey forbidden=['09:00']
Drew forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Blair, Casey, Drew using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Blair cannot do ['11:00']; Casey cannot do ['09:00']; Drew is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.


Answer: Casey@09:00, Drew@11:00, Eden@10:00

Each meeting lasts one slot
No other hidden constraints

Distinct slots
Respect exclusions
Use only listed slots

Casey forbidden=['13:00']
Drew forbidden=['10:00']
Eden forbidden=[]

Enumerate permutations of the first four slots

Prompt: Schedule a 1-hour meeting for Casey, Drew, Eden using distinct slots from ['09:00', '10:00', '11:00', '13:00']. Constraints: Casey cannot do ['13:00']; Drew cannot do ['10:00']; Eden is free all listed slots. Give one feasible assignment as name@slot pairs sorted by name.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=0.4 kg, hazardous=true, destination=domestic.

Solution: Apply the first matching rule. Result: restricted.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=2.1 kg, hazardous=false, destination=domestic.

Solution: Apply the first matching rule. Result: parcel-dom.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=3.8 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=5.5 kg, hazardous=true, destination=domestic.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=7.2 kg, hazardous=false, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=8.9 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=10.6 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=12.3 kg, hazardous=true, destination=domestic.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=14.0 kg, hazardous=false, destination=domestic.


Answer: parcel-intl

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=15.7 kg, hazardous=false, destination=international.

Solution: Apply the first matching rule. Result: parcel-intl.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=17.4 kg, hazardous=true, destination=domestic.


Answer: parcel-intl

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=19.1 kg, hazardous=false, destination=international.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=20.8 kg, hazardous=false, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=22.5 kg, hazardous=true, destination=international.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=24.2 kg, hazardous=true, destination=domestic.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=25.9 kg, hazardous=false, destination=domestic.


Answer: parcel-intl

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=27.6 kg, hazardous=false, destination=international.


Answer: parcel-dom

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=29.3 kg, hazardous=false, destination=domestic.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=31.0 kg, hazardous=false, destination=domestic.

Solution: Apply the first matching rule. Result: freight.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=32.7 kg, hazardous=false, destination=domestic.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=34.4 kg, hazardous=false, destination=international.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=36.1 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=37.8 kg, hazardous=true, destination=domestic.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=39.5 kg, hazardous=false, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=41.2 kg, hazardous=true, destination=domestic.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=42.9 kg, hazardous=false, destination=international.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=44.6 kg, hazardous=false, destination=international.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=46.3 kg, hazardous=true, destination=international.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=48.0 kg, hazardous=false, destination=domestic.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=49.7 kg, hazardous=false, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=51.4 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=53.1 kg, hazardous=true, destination=international.


Answer: freight

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=54.8 kg, hazardous=false, destination=international.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=56.5 kg, hazardous=true, destination=international.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=58.2 kg, hazardous=true, destination=domestic.


Answer: restricted

Check hazardous
Check mass threshold
Check destination

Prompt: Classify a shipment using these rules in order: (1) hazardous -> restricted; (2) mass > 30 kg -> freight; (3) international -> parcel-intl; else parcel-dom. The shipment is mass=59.9 kg, hazardous=true, destination=international.


Answer: vendor=Northwind; amount=530; due=2026-03-01; invoice=INV-1000

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1000 from Northwind is payable by 2026-03-01 for USD 530. Mention of internal ticket T-0 is not financial.

Solution: The financial fields are vendor=Northwind; amount=530; due=2026-03-01; invoice=INV-1000. Ticket T-0 is excluded.


Answer: vendor=Helios; amount=394; due=2026-03-02; invoice=INV-1001

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1001 from Helios is payable by 2026-03-02 for USD 394. Mention of internal ticket T-1 is not financial.

Solution: The financial fields are vendor=Helios; amount=394; due=2026-03-02; invoice=INV-1001. Ticket T-1 is excluded.


Answer: vendor=Kite Labs; amount=187; due=2026-03-03; invoice=INV-1002

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1002 from Kite Labs is payable by 2026-03-03 for USD 187. Mention of internal ticket T-2 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=187; due=2026-03-03; invoice=INV-1002. Ticket T-2 is excluded.


Answer: vendor=Pylon; amount=336; due=2026-03-04; invoice=INV-1003

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1003 from Pylon is payable by 2026-03-04 for USD 336. Mention of internal ticket T-3 is not financial.

Solution: The financial fields are vendor=Pylon; amount=336; due=2026-03-04; invoice=INV-1003. Ticket T-3 is excluded.


Answer: vendor=Northwind; amount=700; due=2026-03-05; invoice=INV-1004

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1004 from Northwind is payable by 2026-03-05 for USD 700. Mention of internal ticket T-4 is not financial.

Solution: The financial fields are vendor=Northwind; amount=700; due=2026-03-05; invoice=INV-1004. Ticket T-4 is excluded.


Answer: vendor=Helios; amount=855; due=2026-03-06; invoice=INV-1005

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1005 from Helios is payable by 2026-03-06 for USD 855. Mention of internal ticket T-5 is not financial.

Solution: The financial fields are vendor=Helios; amount=855; due=2026-03-06; invoice=INV-1005. Ticket T-5 is excluded.


Answer: vendor=Kite Labs; amount=442; due=2026-03-07; invoice=INV-1006

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1006 from Kite Labs is payable by 2026-03-07 for USD 442. Mention of internal ticket T-6 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=442; due=2026-03-07; invoice=INV-1006. Ticket T-6 is excluded.


Answer: vendor=Pylon; amount=337; due=2026-03-08; invoice=INV-1007

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1007 from Pylon is payable by 2026-03-08 for USD 337. Mention of internal ticket T-7 is not financial.

Solution: The financial fields are vendor=Pylon; amount=337; due=2026-03-08; invoice=INV-1007. Ticket T-7 is excluded.


Answer: vendor=Northwind; amount=791; due=2026-03-09; invoice=INV-1008

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1008 from Northwind is payable by 2026-03-09 for USD 791. Mention of internal ticket T-8 is not financial.

Solution: The financial fields are vendor=Northwind; amount=791; due=2026-03-09; invoice=INV-1008. Ticket T-8 is excluded.


Answer: vendor=Helios; amount=631; due=2026-03-10; invoice=INV-1009

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1009 from Helios is payable by 2026-03-10 for USD 631. Mention of internal ticket T-9 is not financial.

Solution: The financial fields are vendor=Helios; amount=631; due=2026-03-10; invoice=INV-1009. Ticket T-9 is excluded.


Answer: vendor=Kite Labs; amount=525; due=2026-03-11; invoice=INV-1010

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1010 from Kite Labs is payable by 2026-03-11 for USD 525. Mention of internal ticket T-10 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=525; due=2026-03-11; invoice=INV-1010. Ticket T-10 is excluded.


Answer: vendor=Pylon; amount=778; due=2026-03-12; invoice=INV-1011

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1011 from Pylon is payable by 2026-03-12 for USD 778. Mention of internal ticket T-11 is not financial.

Solution: The financial fields are vendor=Pylon; amount=778; due=2026-03-12; invoice=INV-1011. Ticket T-11 is excluded.


Answer: vendor=Northwind; amount=589; due=2026-03-13; invoice=INV-1012

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1012 from Northwind is payable by 2026-03-13 for USD 589. Mention of internal ticket T-12 is not financial.

Solution: The financial fields are vendor=Northwind; amount=589; due=2026-03-13; invoice=INV-1012. Ticket T-12 is excluded.


Answer: vendor=Helios; amount=266; due=2026-03-14; invoice=INV-1013

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1013 from Helios is payable by 2026-03-14 for USD 266. Mention of internal ticket T-13 is not financial.

Solution: The financial fields are vendor=Helios; amount=266; due=2026-03-14; invoice=INV-1013. Ticket T-13 is excluded.


Answer: vendor=Kite Labs; amount=391; due=2026-03-15; invoice=INV-1014

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1014 from Kite Labs is payable by 2026-03-15 for USD 391. Mention of internal ticket T-14 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=391; due=2026-03-15; invoice=INV-1014. Ticket T-14 is excluded.


Answer: vendor=Pylon; amount=262; due=2026-03-16; invoice=INV-1015

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1015 from Pylon is payable by 2026-03-16 for USD 262. Mention of internal ticket T-15 is not financial.

Solution: The financial fields are vendor=Pylon; amount=262; due=2026-03-16; invoice=INV-1015. Ticket T-15 is excluded.


Answer: vendor=Northwind; amount=372; due=2026-03-17; invoice=INV-1016

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1016 from Northwind is payable by 2026-03-17 for USD 372. Mention of internal ticket T-16 is not financial.

Solution: The financial fields are vendor=Northwind; amount=372; due=2026-03-17; invoice=INV-1016. Ticket T-16 is excluded.


Answer: vendor=Helios; amount=882; due=2026-03-18; invoice=INV-1017

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1017 from Helios is payable by 2026-03-18 for USD 882. Mention of internal ticket T-17 is not financial.

Solution: The financial fields are vendor=Helios; amount=882; due=2026-03-18; invoice=INV-1017. Ticket T-17 is excluded.


Answer: vendor=Kite Labs; amount=694; due=2026-03-19; invoice=INV-1018

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1018 from Kite Labs is payable by 2026-03-19 for USD 694. Mention of internal ticket T-18 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=694; due=2026-03-19; invoice=INV-1018. Ticket T-18 is excluded.


Answer: vendor=Pylon; amount=671; due=2026-03-20; invoice=INV-1019

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1019 from Pylon is payable by 2026-03-20 for USD 671. Mention of internal ticket T-19 is not financial.

Solution: The financial fields are vendor=Pylon; amount=671; due=2026-03-20; invoice=INV-1019. Ticket T-19 is excluded.


Answer: vendor=Northwind; amount=389; due=2026-03-21; invoice=INV-1020

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1020 from Northwind is payable by 2026-03-21 for USD 389. Mention of internal ticket T-20 is not financial.

Solution: The financial fields are vendor=Northwind; amount=389; due=2026-03-21; invoice=INV-1020. Ticket T-20 is excluded.


Answer: vendor=Helios; amount=884; due=2026-03-22; invoice=INV-1021

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1021 from Helios is payable by 2026-03-22 for USD 884. Mention of internal ticket T-21 is not financial.

Solution: The financial fields are vendor=Helios; amount=884; due=2026-03-22; invoice=INV-1021. Ticket T-21 is excluded.


Answer: vendor=Kite Labs; amount=718; due=2026-03-23; invoice=INV-1022

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1022 from Kite Labs is payable by 2026-03-23 for USD 718. Mention of internal ticket T-22 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=718; due=2026-03-23; invoice=INV-1022. Ticket T-22 is excluded.


Answer: vendor=Pylon; amount=558; due=2026-03-24; invoice=INV-1023

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1023 from Pylon is payable by 2026-03-24 for USD 558. Mention of internal ticket T-23 is not financial.

Solution: The financial fields are vendor=Pylon; amount=558; due=2026-03-24; invoice=INV-1023. Ticket T-23 is excluded.


Answer: vendor=Northwind; amount=717; due=2026-03-25; invoice=INV-1024

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1024 from Northwind is payable by 2026-03-25 for USD 717. Mention of internal ticket T-24 is not financial.

Solution: The financial fields are vendor=Northwind; amount=717; due=2026-03-25; invoice=INV-1024. Ticket T-24 is excluded.


Answer: vendor=Helios; amount=528; due=2026-03-26; invoice=INV-1025

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1025 from Helios is payable by 2026-03-26 for USD 528. Mention of internal ticket T-25 is not financial.

Solution: The financial fields are vendor=Helios; amount=528; due=2026-03-26; invoice=INV-1025. Ticket T-25 is excluded.


Answer: vendor=Kite Labs; amount=490; due=2026-03-27; invoice=INV-1026

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1026 from Kite Labs is payable by 2026-03-27 for USD 490. Mention of internal ticket T-26 is not financial.

Solution: The financial fields are vendor=Kite Labs; amount=490; due=2026-03-27; invoice=INV-1026. Ticket T-26 is excluded.


Answer: vendor=Pylon; amount=344; due=2026-03-28; invoice=INV-1027

USD amounts have no cents in this corpus

Ignore non-financial identifiers
Amount is an integer

Locate invoice id
Read vendor
Read amount
Read due date

Prompt:
Extract vendor, integer USD amount, due date (ISO), and invoice id from the note. Ignore ticket ids.

Invoice INV-1027 from Pylon is payable by 2026-03-28 for USD 344. Mention of internal ticket T-27 is not financial.

Solution: The financial fields are vendor=Pylon; amount=344; due=2026-03-28; invoice=INV-1027. Ticket T-27 is excluded.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=57, latency=78ms, slo=99.5. B: cost=105, latency=26ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-130.00, score(B)=-126.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=59, latency=35ms, slo=99.9. B: cost=120, latency=102ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-85.00, score(B)=-217.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=89, latency=91ms, slo=99.9. B: cost=88, latency=74ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-171.00, score(B)=-157.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=54, latency=49ms, slo=99.9. B: cost=108, latency=97ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-94.00, score(B)=-200.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=77, latency=35ms, slo=99.5. B: cost=95, latency=73ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-107.00, score(B)=-159.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=104, latency=79ms, slo=99.9. B: cost=62, latency=28ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-174.00, score(B)=-85.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=59, latency=35ms, slo=99.5. B: cost=87, latency=84ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-89.00, score(B)=-162.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=102, latency=29ms, slo=99.9. B: cost=42, latency=61ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-122.00, score(B)=-98.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=47, latency=87ms, slo=99.5. B: cost=70, latency=25ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-129.00, score(B)=-86.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=48, latency=31ms, slo=99.9. B: cost=108, latency=31ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-70.00, score(B)=-134.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=73, latency=92ms, slo=99.5. B: cost=107, latency=69ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-160.00, score(B)=-171.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=79, latency=100ms, slo=99.9. B: cost=91, latency=98ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-170.00, score(B)=-180.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=106, latency=30ms, slo=99.5. B: cost=97, latency=46ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-131.00, score(B)=-138.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=83, latency=90ms, slo=99.5. B: cost=42, latency=85ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-168.00, score(B)=-122.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=40, latency=105ms, slo=99.5. B: cost=49, latency=95ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-140.00, score(B)=-139.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=48, latency=57ms, slo=99.5. B: cost=44, latency=24ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-100.00, score(B)=-59.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=102, latency=84ms, slo=99.9. B: cost=67, latency=31ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-177.00, score(B)=-93.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=100, latency=39ms, slo=99.5. B: cost=92, latency=27ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-134.00, score(B)=-110.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=85, latency=67ms, slo=99.5. B: cost=94, latency=74ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-147.00, score(B)=-163.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=47, latency=58ms, slo=99.5. B: cost=91, latency=28ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-100.00, score(B)=-114.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=64, latency=72ms, slo=99.9. B: cost=108, latency=32ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-127.00, score(B)=-135.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=75, latency=46ms, slo=99.9. B: cost=99, latency=24ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-112.00, score(B)=-118.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=46, latency=16ms, slo=99.5. B: cost=109, latency=26ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-57.00, score(B)=-130.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=92, latency=76ms, slo=99.9. B: cost=102, latency=42ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-159.00, score(B)=-139.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=61, latency=15ms, slo=99.9. B: cost=88, latency=64ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-67.00, score(B)=-143.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=76, latency=104ms, slo=99.9. B: cost=94, latency=86ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-171.00, score(B)=-175.00. Winner=A.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=64, latency=42ms, slo=99.5. B: cost=77, latency=22ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-101.00, score(B)=-90.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=47, latency=89ms, slo=99.5. B: cost=46, latency=76ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-131.00, score(B)=-117.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=105, latency=38ms, slo=99.5. B: cost=50, latency=23ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-138.00, score(B)=-68.00. Winner=B.


Answer: B

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=91, latency=87ms, slo=99.5. B: cost=55, latency=46ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-173.00, score(B)=-96.00. Winner=B.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=93, latency=87ms, slo=99.9. B: cost=114, latency=81ms, slo=99.9. Answer A, B, or TIE.

Solution: score(A)=-171.00, score(B)=-186.00. Winner=A.


Answer: A

Use the stated linear score
No qualitative override

Prompt: Choose hosting plan A or B by the score -cost - latency_ms + 10*(slo-99). A: cost=66, latency=45ms, slo=99.9. B: cost=80, latency=48ms, slo=99.5. Answer A, B, or TIE.

Solution: score(A)=-102.00, score(B)=-123.00. Winner=A.


Answer: false

Use only the given graph
Deterministic mechanisms

Prompt: Causal graph: rain→wet, sprinkler→wet, wet→slippery. Deterministic OR for wet, and slippery iff wet. Observed rain=False, sprinkler=False. Is slippery true or false?

Solution: wet = rain OR sprinkler = False; slippery = wet = False.


Answer: true

Use only the given graph
Deterministic mechanisms

Prompt: Causal graph: rain→wet, sprinkler→wet, wet→slippery. Deterministic OR for wet, and slippery iff wet. Observed rain=False, sprinkler=True. Is slippery true or false?

Solution: wet = rain OR sprinkler = True; slippery = wet = True.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-08; code complete on 2026-01-15; release on 2026-01-19; spec frozen on 2026-01-05. Return names separated by ' > '.

Solution: Sort by date: spec frozen > implementation start > code complete > release.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-01-16; release on 2026-01-20; implementation start on 2026-01-09; spec frozen on 2026-01-06. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-10; code complete on 2026-01-17; spec frozen on 2026-01-07; release on 2026-01-21. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-01-22; spec frozen on 2026-01-08; implementation start on 2026-01-11; code complete on 2026-01-18. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-12; release on 2026-01-23; spec frozen on 2026-01-09; code complete on 2026-01-19. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-01-24; code complete on 2026-01-20; implementation start on 2026-01-13; spec frozen on 2026-01-10. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-01-25; code complete on 2026-01-21; spec frozen on 2026-01-11; implementation start on 2026-01-14. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-01-22; spec frozen on 2026-01-12; release on 2026-01-26; implementation start on 2026-01-15. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). spec frozen on 2026-01-13; release on 2026-01-27; code complete on 2026-01-23; implementation start on 2026-01-16. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-17; spec frozen on 2026-01-14; code complete on 2026-01-24; release on 2026-01-28. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-18; release on 2026-01-29; spec frozen on 2026-01-15; code complete on 2026-01-25. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-01-26; implementation start on 2026-01-19; spec frozen on 2026-01-16; release on 2026-01-30. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-01-27; release on 2026-01-31; spec frozen on 2026-01-17; implementation start on 2026-01-20. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-02-01; spec frozen on 2026-01-18; implementation start on 2026-01-21; code complete on 2026-01-28. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-02-02; code complete on 2026-01-29; spec frozen on 2026-01-19; implementation start on 2026-01-22. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). spec frozen on 2026-01-20; code complete on 2026-01-30; implementation start on 2026-01-23; release on 2026-02-03. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). release on 2026-02-04; code complete on 2026-01-31; implementation start on 2026-01-24; spec frozen on 2026-01-21. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). spec frozen on 2026-01-22; implementation start on 2026-01-25; code complete on 2026-02-01; release on 2026-02-05. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-02-02; implementation start on 2026-01-26; release on 2026-02-06; spec frozen on 2026-01-23. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). spec frozen on 2026-01-24; release on 2026-02-07; code complete on 2026-02-03; implementation start on 2026-01-27. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). code complete on 2026-02-04; implementation start on 2026-01-28; release on 2026-02-08; spec frozen on 2026-01-25. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). spec frozen on 2026-01-26; implementation start on 2026-01-29; release on 2026-02-09; code complete on 2026-02-05. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-30; spec frozen on 2026-01-27; code complete on 2026-02-06; release on 2026-02-10. Return names separated by ' > '.


Answer: spec frozen > implementation start > code complete > release

Prompt: Order these events from earliest to latest (tie-break by name not needed; dates unique). implementation start on 2026-01-31; spec frozen on 2026-01-28; code complete on 2026-02-07; release on 2026-02-11. Return names separated by ' > '.


Answer: A=red, B=green, C=red

Adjacent nodes different colours
Only the three named colours

Prompt: Color nodes A-B-C (edges A-B and B-C) with {red, green, blue} so adjacent nodes differ. One valid colouring starts with A=red. Give A,B,C colours.

Solution: A path of length 2 is 2-colourable along the path. A=red, B=green, C=red is valid.


Answer: A=green, B=blue, C=green

Adjacent nodes different colours
Only the three named colours

Graph is a path A—B—C
A is fixed to green

Prompt: Color nodes A-B-C (edges A-B and B-C) with {red, green, blue} so adjacent nodes differ. One valid colouring starts with A=green. Give A,B,C colours.

Solution: A path of length 2 is 2-colourable along the path. A=green, B=blue, C=green is valid.


Answer: A=blue, B=red, C=green

Adjacent nodes different colours
Only the three named colours

Graph is a path A—B—C
A is fixed to blue

Prompt: Color nodes A-B-C (edges A-B and B-C) with {red, green, blue} so adjacent nodes differ. One valid colouring starts with A=blue. Give A,B,C colours.

Solution: A path of length 2 is 2-colourable along the path. A=blue, B=red, C=green is valid.


Answer: A=red, B=green, C=blue

Adjacent nodes different colours
Only the three named colours

Prompt: Color nodes A-B-C (edges A-B and B-C) with {red, green, blue} so adjacent nodes differ. One valid colouring starts with A=red. Give A,B,C colours.

Solution: A path of length 2 is 2-colourable along the path. A=red, B=green, C=blue is valid.


Answer: A=green, B=blue, C=red

Adjacent nodes different colours
Only the three named colours

Graph is a path A—B—C
A is fixed to green

Prompt: Color nodes A-B-C (edges A-B and B-C) with {red, green, blue} so adjacent nodes differ. One valid colouring starts with A=green. Give A,B,C colours.

Solution: A path of length 2 is 2-colourable along the path. A=green, B=blue, C=red is valid.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 800 and prevents a failure that occurs with probability 0.1 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×1000 = 100.0. Buy iff 100.0 > 800: skip.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.01 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.01×20000 = 200.0. Buy iff 200.0 > 100: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 50 and prevents a failure that occurs with probability 0.1 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×5000 = 500.0. Buy iff 500.0 > 50: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 400 and prevents a failure that occurs with probability 0.1 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×20000 = 2000.0. Buy iff 2000.0 > 400: buy.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 400 and prevents a failure that occurs with probability 0.01 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.01×20000 = 200.0. Buy iff 200.0 > 400: skip.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 800 and prevents a failure that occurs with probability 0.1 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×20000 = 2000.0. Buy iff 2000.0 > 800: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 400 and prevents a failure that occurs with probability 0.1 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×5000 = 500.0. Buy iff 500.0 > 400: buy.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 800 and prevents a failure that occurs with probability 0.05 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.05×1000 = 50.0. Buy iff 50.0 > 800: skip.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.2 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.2×20000 = 4000.0. Buy iff 4000.0 > 100: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.1 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.1×5000 = 500.0. Buy iff 500.0 > 100: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 400 and prevents a failure that occurs with probability 0.2 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.2×20000 = 4000.0. Buy iff 4000.0 > 400: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 800 and prevents a failure that occurs with probability 0.2 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.2×5000 = 1000.0. Buy iff 1000.0 > 800: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 800 and prevents a failure that occurs with probability 0.05 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.05×20000 = 1000.0. Buy iff 1000.0 > 800: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 50 and prevents a failure that occurs with probability 0.05 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.05×20000 = 1000.0. Buy iff 1000.0 > 50: buy.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 400 and prevents a failure that occurs with probability 0.01 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.01×1000 = 10.0. Buy iff 10.0 > 400: skip.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.05 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.05×1000 = 50.0. Buy iff 50.0 > 100: skip.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.01 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.01×1000 = 10.0. Buy iff 10.0 > 100: skip.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 50 and prevents a failure that occurs with probability 0.2 and loss 20000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.2×20000 = 4000.0. Buy iff 4000.0 > 50: buy.


Answer: buy

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.2 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.2×5000 = 1000.0. Buy iff 1000.0 > 100: buy.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 50 and prevents a failure that occurs with probability 0.05 and loss 1000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.05×1000 = 50.0. Buy iff 50.0 > 50: skip.


Answer: skip

Risk-neutral EMV
Mitigation is all-or-nothing

Compute expected unmitigated loss
Compare to cost

Prompt: A mitigation costs 100 and prevents a failure that occurs with probability 0.01 and loss 5000. Using expected monetary value and risk-neutrality, should you buy or skip the mitigation?

Solution: E[loss] = 0.01×5000 = 50.0. Buy iff 50.0 > 100: skip.


Answer: valid

Identify form
Check if the conclusion follows

Prompt:
Classify the argument as valid or invalid (deductive). Explain briefly in the solution.

All firmware updates that change the bootloader require a dual-control review. Build 4412 changes the bootloader. Therefore build 4412 requires a dual-control review.

Solution: Categorical syllogism: all M are P; a is M; therefore a is P.


Answer: invalid

Identify form
Check if the conclusion follows

Prompt:
Classify the argument as valid or invalid (deductive). Explain briefly in the solution.

If the cache is cold, latency exceeds 200 ms. Latency exceeded 200 ms. Therefore the cache is cold.

Solution: Affirming the consequent: Q does not imply P.


Answer: valid

Identify form
Check if the conclusion follows

Prompt:
Classify the argument as valid or invalid (deductive). Explain briefly in the solution.

Either the replica is lagged or the client retried. The replica is not lagged. Therefore the client retried.

Solution: Disjunctive syllogism.


Answer: invalid

Identify form
Check if the conclusion follows

Prompt:
Classify the argument as valid or invalid (deductive). Explain briefly in the solution.

Most timeouts are caused by GC pauses. This request timed out. Therefore this timeout was a GC pause.

Solution: Statistical generalization does not entail a particular.


Answer: 105

People are distinct
Chair must be in the group

Prompt: A working group of 5 people is chosen from 7 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(7,5) ways to choose the group, then 5 chairs: 105.


Answer: 252

People are distinct
Chair must be in the group

Prompt: A working group of 7 people is chosen from 9 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(9,7) ways to choose the group, then 7 chairs: 252.


Answer: 280

People are distinct
Chair must be in the group

Prompt: A working group of 4 people is chosen from 8 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(8,4) ways to choose the group, then 4 chairs: 280.


Answer: 20

People are distinct
Chair must be in the group

Prompt: A working group of 4 people is chosen from 5 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(5,4) ways to choose the group, then 4 chairs: 20.


Answer: 105

People are distinct
Chair must be in the group

Prompt: A working group of 3 people is chosen from 7 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(7,3) ways to choose the group, then 3 chairs: 105.


Answer: 30

People are distinct
Chair must be in the group

Prompt: A working group of 3 people is chosen from 5 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(5,3) ways to choose the group, then 3 chairs: 30.


Answer: 504

People are distinct
Chair must be in the group

Prompt: A working group of 4 people is chosen from 9 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(9,4) ways to choose the group, then 4 chairs: 504.


Answer: 60

People are distinct
Chair must be in the group

Prompt: A working group of 4 people is chosen from 6 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(6,4) ways to choose the group, then 4 chairs: 60.


Answer: 12

People are distinct
Chair must be in the group

Prompt: A working group of 3 people is chosen from 4 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(4,3) ways to choose the group, then 3 chairs: 12.


Answer: 30

People are distinct
Chair must be in the group

Prompt: A working group of 2 people is chosen from 6 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(6,2) ways to choose the group, then 2 chairs: 30.


Answer: 60

People are distinct
Chair must be in the group

Prompt: A working group of 3 people is chosen from 6 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(6,3) ways to choose the group, then 3 chairs: 60.


Answer: 30

People are distinct
Chair must be in the group

Prompt: A working group of 5 people is chosen from 6 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(6,5) ways to choose the group, then 5 chairs: 30.


Answer: 4

People are distinct
Chair must be in the group

Prompt: A working group of 1 people is chosen from 4 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(4,1) ways to choose the group, then 1 chairs: 4.


Answer: 20

People are distinct
Chair must be in the group

Prompt: A working group of 2 people is chosen from 5 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(5,2) ways to choose the group, then 2 chairs: 20.


Answer: 42

People are distinct
Chair must be in the group

Prompt: A working group of 6 people is chosen from 7 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(7,6) ways to choose the group, then 6 chairs: 42.


Answer: 12

People are distinct
Chair must be in the group

Prompt: A working group of 2 people is chosen from 4 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(4,2) ways to choose the group, then 2 chairs: 12.


Answer: 7

People are distinct
Chair must be in the group

Prompt: A working group of 1 people is chosen from 7 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(7,1) ways to choose the group, then 1 chairs: 7.


Answer: 9

People are distinct
Chair must be in the group

Prompt: A working group of 1 people is chosen from 9 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(9,1) ways to choose the group, then 1 chairs: 9.


Answer: 140

People are distinct
Chair must be in the group

Prompt: A working group of 4 people is chosen from 7 engineers, then one member is designated chair. How many outcomes are there?

Solution: C(7,4) ways to choose the group, then 4 chairs: 140.


Answer: no_perf_incident

Check error+latency
Check CPU+latency
Check latency alone

Prompt: Triage using: high errors+high latency => dependency_timeouts; else high CPU+high latency => cpu_saturation; else high latency => network_or_io; else no_perf_incident. Observed cpu=high, latency=normal, errors=high.

Solution: Apply the first matching triage rule: no_perf_incident.


Answer: network_or_io

Check error+latency
Check CPU+latency
Check latency alone

Prompt: Triage using: high errors+high latency => dependency_timeouts; else high CPU+high latency => cpu_saturation; else high latency => network_or_io; else no_perf_incident. Observed cpu=normal, latency=high, errors=normal.

Solution: Apply the first matching triage rule: network_or_io.


Answer: cpu_saturation

Check error+latency
Check CPU+latency
Check latency alone

Prompt: Triage using: high errors+high latency => dependency_timeouts; else high CPU+high latency => cpu_saturation; else high latency => network_or_io; else no_perf_incident. Observed cpu=high, latency=high, errors=normal.

Solution: Apply the first matching triage rule: cpu_saturation.


Answer: dependency_timeouts

Check error+latency
Check CPU+latency
Check latency alone

Prompt: Triage using: high errors+high latency => dependency_timeouts; else high CPU+high latency => cpu_saturation; else high latency => network_or_io; else no_perf_incident. Observed cpu=high, latency=high, errors=high.

Solution: Apply the first matching triage rule: dependency_timeouts.


Answer: s

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['s', 't', 'u'] and B=['p', 'r', 's']. List A ∩ B in sorted order.

Solution: Compute the set operation on finite named elements: s.


Answer: u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 's', 'u'] and B=['r', 't', 'u']. List A ∩ B in sorted order.

Solution: Compute the set operation on finite named elements: u.


Answer: p,q,r,t

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['p', 'r', 't'] and B=['p', 'q', 't']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: p,q,r,t.


Answer: p,r,s,t,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['s', 't', 'u'] and B=['p', 'r', 'u']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: p,r,s,t,u.


Answer: r

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 's'] and B=['r', 't', 'u']. List A ∩ B in sorted order.

Solution: Compute the set operation on finite named elements: r.


Answer: r,t

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['r', 't', 'u'] and B=['r', 's', 't']. List A ∩ B in sorted order.

Solution: Compute the set operation on finite named elements: r,t.


Answer: q,r,s,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['r', 's', 'u'] and B=['q', 'r', 'u']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: q,r,s,u.


Answer: p,q,r,t,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 'u'] and B=['p', 'q', 't']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: p,q,r,t,u.


Answer: q,r,s,t,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 's'] and B=['r', 't', 'u']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: q,r,s,t,u.


Answer: q,r,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 'u'] and B=['q', 'r', 'u']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: q,r,u.


Answer: q,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 't', 'u'] and B=['p', 'r', 't']. List A \ B in sorted order.

Solution: Compute the set operation on finite named elements: q,u.


Answer: r

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 's'] and B=['p', 'r', 'u']. List A ∩ B in sorted order.


Answer: p,s,t,u

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['p', 's', 'u'] and B=['p', 's', 't']. List A ∪ B in sorted order.

Solution: Compute the set operation on finite named elements: p,s,t,u.


Answer: r,t

Use the listed labels only
Sorted comma-separated

Prompt: Let A=['q', 'r', 't'] and B=['p', 'q', 'u']. List A \ B in sorted order.


Answer: false

Prompt: P is True, Q is False. What is P AND Q as true/false?

Solution: Evaluate the connective on the two booleans: false.


Answer: true

Prompt: P is True, Q is True. What is P AND Q as true/false?

Solution: Evaluate the connective on the two booleans: true.


Answer: true

Prompt: P is True, Q is False. What is P XOR Q as true/false?


Answer: true

Prompt: P is True, Q is True. What is P → Q as true/false?


Answer: true

Prompt: P is False, Q is True. What is P → Q as true/false?


Answer: 3

Prompt: Undirected edges: 0-1, 1-2, 2-3, 3-4, and 0-2. What is the fewest hops from 0 to 4?

Solution: BFS from 0 reaches 4 in 3 hops.


Answer: 3

Prompt: Undirected edges: 0-1, 1-2, 2-3, 3-4, and 1-3. What is the fewest hops from 0 to 4?

Solution: BFS from 0 reaches 4 in 3 hops.


Answer: 3

Prompt: Undirected edges: 0-1, 1-2, 2-3, 3-4, and 2-4. What is the fewest hops from 0 to 4?

Solution: BFS from 0 reaches 4 in 3 hops.


Answer: 2

Prompt: Undirected edges: 0-1, 1-2, 2-3, 3-4, and 0-3. What is the fewest hops from 0 to 4?

Solution: BFS from 0 reaches 4 in 2 hops.


Answer: thermostat

Single best cause among the named options

Two changes co-occurred
Only thermostat was reverted

See what remained when the effect vanished

Prompt: A bakery's burnt-loaf rate rose the week they changed flour vendors and the week the oven thermostat failed. After replacing only the thermostat, the rate returned to baseline while still using the new flour. What is the better causal claim: flour, thermostat, or both required?

Solution: The flour change remained after the rate recovered, so it was not necessary for the spike. The thermostat repair coincided with recovery.


Answer: schema migration

Single best cause among the named options

Two candidate causes
Rollback isolated one

See what remained when the effect vanished

Prompt: App latency rose after a cache flush and after a schema migration. Rolling back the migration (cache still cold) restored latency. Which change is sufficient to explain the regression?

Solution: The cold cache remained after rollback, yet latency recovered, so the flush was not required for the regression.


Answer: fertilizer

Single best cause among the named options

Water-only control
Fertilizer+water treatment

See what remained when the effect vanished

Prompt: Plant height increased in a plot that received fertilizer and extra water. A neighboring plot with extra water only did not grow more. Relative to water-only, what is the supported cause of extra height?

Solution: Water was present in both plots. The difference that tracks extra height is fertilizer.


Answer: Friday deploy

Single best cause among the named options

Holiday ended before revert
Revert then drop

See what remained when the effect vanished

Prompt: Bug reports spiked after a Friday deploy and a Monday holiday. The deploy was reverted Tuesday; reports dropped though the holiday had already passed. What better explains the spike?

Solution: The holiday was over before the drop. Revert tracked the drop, so the deploy is the better explanation.


Answer: construction

Single best cause among the named options

Similar rain later
Construction paused later

See what remained when the effect vanished

Prompt: A river's turbidity rose after rain and after a construction start. A later rain of similar size, while construction was paused, did not raise turbidity. What is the better explanation of the first spike?

Solution: Rain alone later did not reproduce the spike, so rain is not sufficient. Construction remaining on during the first rain is the distinguishing factor.


Answer: shortened term

Single best cause among the named options

Textbook held constant later
Term length restored

See what remained when the effect vanished

Prompt: Exam scores fell after switching textbooks and after shortening the term. A later cohort used the new book with the original term length and scored like the historical baseline. What better explains the drop?

Solution: The new textbook with the old calendar matched baseline, so the book was not sufficient to cause the drop.


Answer: 10:00,11:00,09:00

No overlapping exclusive resources
Respect windows

Identify constrained tasks
Place unconstrained fillers
Check finish

Prompt: Tasks: taxes 2h unconstrained; passport 1h only 10:00-12:00; groceries 1h anytime. Work starts 09:00, no overlap. List start times as HH:MM for passport, taxes, groceries in that order, finishing as early as possible.

Solution: Groceries 09:00-10:00, passport 10:00-11:00 (inside the window), taxes 11:00-13:00. Finish 13:00.


Answer: 13:00,13:30,12:30

No overlapping exclusive resources
Respect windows

Hood only 13:00-14:00
Analysis depends on hood

Identify constrained tasks
Place unconstrained fillers
Check finish

Prompt: A chemist needs 30 min of fume-hood time, 45 min of analysis that requires the hood product, and 20 min of glassware wash that can run anytime. The hood is free only 13:00-14:00. Start at 12:30. Give start times HH:MM for hood, analysis, wash in that order with no overlap.

Solution: Wash 12:30-12:50 (or any pre-hood slot). Hood must start 13:00. Analysis after hood: 13:30. Wash cannot be after if we want a feasible early plan; 12:30 wash works.


Answer: A,B,A

No overlapping exclusive resources
Respect windows

Identify constrained tasks
Place unconstrained fillers
Check finish

Prompt: Three talks of 20 min must be scheduled in rooms A then B then A again (A cannot host two consecutive talks). Slots are 09:00, 09:30, 10:00. Assign rooms as a comma-separated list in slot order.

Solution: A, A, A would consecutive-A. A,B,A alternates and uses A twice.


Answer: 08:30

No overlapping exclusive resources
Respect windows

Identify constrained tasks
Place unconstrained fillers
Check finish

Prompt: You have a 15-min bus at :00 and :30 past each hour and a 10-min walk to the stop. You leave home at 08:07. What is the earliest bus you can catch as HH:MM?

Solution: Arrive at stop 08:17, missing 08:00. Next is 08:30.


Answer: 17:20

No overlapping exclusive resources
Respect windows

Identify constrained tasks
Place unconstrained fillers
Check finish

Prompt: Bake 25 min, cool 10 min, glaze 5 min, in that order, no overlap. Oven is free from 16:40. When is glazing finished as HH:MM?

Solution: Bake 16:40-17:05, cool 17:05-17:15, glaze 17:15-17:20.


Answer: Ann:lab,Bea:field,Cal:desk

Write the bipartite graph
Find a maximum matching

Prompt: Assign {Ann, Bea, Cal} to {desk, lab, field}. Ann refuses field, Bea refuses desk, Cal refuses lab, and the lab must go to Ann. List person:job alphabetically by person.

Solution: Lab is Ann. Bea cannot desk so Bea field. Cal gets desk.


Answer: 1

Write the bipartite graph
Find a maximum matching

Prompt: Four students want two lab benches. Compatible pairs are (Ada, Ben), (Ada, Cyd), (Ben, Di). Maximize pairs without sharing a person. How many pairs can you seat?

Solution: Any two of those pairs share Ada or Ben. Maximum matching size is 1.


Answer: 2

Write the bipartite graph
Find a maximum matching

Prompt: Tutors {T1,T2} and students {S1,S2,S3}. Each tutor takes at most one student. Allowed: T1-S1, T1-S2, T2-S2, T2-S3. Maximum number of matched students?

Solution: Two tutors, so at most 2. T1-S1 and T2-S3 is a maximum matching.


Answer: 3

Prompt: A triangle graph (3 vertices all adjacent) is to be vertex-colored. What is the chromatic number?

Solution: K3 needs three colors.


Answer: 2

Prompt: A cycle of 4 vertices (square) is to be vertex-colored. Chromatic number?

Solution: Even cycles are bipartite, so 2-colorable.


Answer: 2

Prompt: How many proper 2-colorings does a single edge (2 vertices, 1 edge) have if colors are {red, blue} and the two vertices must differ? Count labeled colorings, not up to swapping colors.

Solution: Red-blue or blue-red. Same-color is forbidden.


Answer: 2

Prompt: A path of 3 vertices needs vertex colors so adjacent vertices differ. Using 2 colors, how many labeled colorings?

Solution: Ends must match each other (both differ from the middle). 2 choices for the middle, then ends are forced. Wait: middle has 2 choices, each end has 1 remaining color. 2 colorings. Yes.


Answer: Tuesday

Apply weekday or month-length arithmetic

Prompt: 2026-08-18 is a Tuesday. What weekday is 2026-08-25 (same calendar)?

Solution: Seven days later is the same weekday.


Answer: 2026-08-28

Apply weekday or month-length arithmetic

Prompt: A project starts Monday 2026-08-17 and lasts 10 working days, skipping Saturday and Sunday, no holidays. What is the finish date YYYY-MM-DD?

Solution: Mon 17 through Fri 21 is 5 days; Mon 24 through Fri 28 is 5 more. Finish Friday 28.


Answer: 59

Apply weekday or month-length arithmetic

Prompt: From 2026-01-01 to 2026-03-01, how many calendar days elapse if we count the end date but not the start date (date difference)?

Solution: 2026 is not a leap year: 31 days in Jan + 28 in Feb = 59 to March 1.


Answer: 2026-08-20 09:00

Apply weekday or month-length arithmetic

Prompt: A 48-hour timer starts 2026-08-18 09:00. When does it end, local civil time with no DST change, as YYYY-MM-DD HH:MM?

Solution: 48 hours is exactly two days later at the same clock time.


Answer: 42

Prompt: A bill is $90. Three people split equally, then one person covers a $12 tip on top of their share. How many dollars does that person pay in total?

Solution: Share 30, plus 12 tip = 42.