a(n) = { my (b = binary(n), c = vector(#b)); for (k = 1, #c, forstep (i = 1, #b, #b+1-k, c[k] += b[i]; ); ); fromdigits(c % 2, 2); } { b = vector(2^13-1); for (n = 1, #b, b[a(n)] = n; ); print ("0 0"); for (n = 1, #b, print (n " " b[n]); ); } quit