#!/usr/bin/python

#primitive

def odd(index):
	return (index % 2) is 1

def even(index):
	return (index % 2) is 0

def is_power_of_two(n):
	#return true if the number is writen with only one bit
	return ((n-1)&n) == 0

#basic tree operation , those return index

def left(index):
	return (index*2)+1

def right(index):
	return (index*2)+2

def parent(index):
	if index > 0:
		return (index - 1)/2
	return 0

def traverse_index(n,size):
	#if tree is in order , it will return number in order
	if not is_power_of_two(size):
		return None
	s = 0
	d = 2
	while (size / d > 0):
		if (n-s)%d == 0:
			return (size/d)+((n-s)/d)
		else:
			s = ((s+1)*2)-1
			d *= 2
	return None

#test

if __name__ == "__main__":

	for i in range(16):
		print traverse(i,16) , 