f=lambda n:[0][n:]or[i+j*2for i in 0,1for j in f(n-1)] for n in range(4): print '%d -> %s' % (n,f(n))