program population_count; print([popcount(3**n) : n in [0..29]]); print([n : n in [0..59] | evil n]); print([n : n in [0..59] | odious n]); op evil(n); return even popcount n; end op; op odious(n); return odd popcount n; end op; op popcount(n); return +/[[n mod 2, n div:=2](1) : until n=0]; end op; end program;