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))