XSTNJ6OQCDX6A7FWSKDJMHPJRBS4WXBZ5CDQ22SL7YYTVY5QIWSQC
for j := i; j <= limit; j += i {
_, marked := mp[j]
if j == i && !marked {
out = append(out, j)
}
// mark every _non_ prime if not marked already
if !marked {
mp[j] = struct{}{}
if !sieve[i] {
out = append(out, i)
for j := 0; i*(i+j) <= limit; j++ {
sieve[i*(i+j)] = true