function pairFreqs(input, numIterations) {
const rules = parse(input);
const pairs = d3.pairs(input.template, (a, b) => a + b);
let freqsPrev = pairs.reduce((e, v) => AOC.addToFreqTable(e, v), new Map());
for (let i = 0; i < numIterations; i++) {
const freqs = new Map();
for (const [pair, f] of freqsPrev.entries()) {
const [a, b] = pair.split("");
const c = rules.get(pair);
[a + c, c + b].forEach((p) => AOC.addToFreqTable(freqs, p, f));
}
freqsPrev = freqs;
}
return freqsPrev;
}