(PARI)
ct=1; print("1 0"); for(L=1, 200, pos=1; a=vector(L); a[1]=0; \
while(pos>0, backtrack=0; a[pos]++; \
if(a[pos]>1, backtrack=1, \
n1=sum(i=1, pos, a[i]*3^(L-i)); n2=n1+3^(L-pos); n=sum(i=1, L, a[i]*2^(L-i)); \
if(pos==L, L1=length(binary(n1)); \
if(shift(n1, L-L1)==n, ct++; print(ct" "n1)), \
b1=binary(n1); b2=binary(n2); L1=length(b1); L2=length(b2); ext=1; \
if(L1==L2, s=0; while(s+1<=L1&&s+1<=pos&&b1[s+1]==b2[s+1], s++); \
if(sum(i=1, s, abs(b1[i]-a[i]))!=0, ext=0)); if(ext, pos++; a[pos]=-1))); \
if(backtrack, pos--)))