function* run(input) {
const start = input.trim().split(',').map(Number)
const ever = {}
for (let n = 0; n < start.length - 1; n++) {
yield start[n]
ever[start[n]] = n
}
let n = start.length - 1
let last = start[n]
while (true) {
const next = last in ever ? n - ever[last] : 0
yield last
ever[last] = n++
last = next
}
}