count = (letters, pairs) => {
letters = new Map(letters);
const next = new Map();
for (const [p, c] of pairs.entries()) {
const m = rules.get(p);
letters.set(m, (letters.get(m) || 0) + c);
const p1 = `${p[0]}${m}`, p2 = `${m}${p[1]}`;
next.set(p1, (next.get(p1) || 0) + c);
next.set(p2, (next.get(p2) || 0) + c);
}
return [letters, next];
}