cmpf(x,y) = { if (x==y, return (0), for (b=2, oo, my (d=if (x, logint(x,b), -1)-if (y, logint(y,b), -1)); if (d, return ((-1)^b * d); ); ); ); } n=-1 apply (v -> print (n++ " " v), vecsort([0..2^13-1], cmpf)) quit