def printLexTo(n):
val=1
while True:
if val<=n:
print("{0:b}".format(val))
if 2*val <= n:
val *= 2
else:
# get the smallest 0 bit
bit = (val+1) & ~val
# set it to 1 and remove the remainder
val = (val+1)//bit
if val==1:
# there weren't any 0 bits in the string
break
printLexTo(23)
ZGVmIHByaW50TGV4VG8obik6CiAgICB2YWw9MQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiB2YWw8PW46CiAgICAgICAgICAgIHByaW50KCJ7MDpifSIuZm9ybWF0KHZhbCkpCiAgICAgICAgaWYgMip2YWwgPD0gbjoKICAgICAgICAgICAgdmFsICo9IDIKICAgICAgICBlbHNlOgogICAgICAgICAgICAjIGdldCB0aGUgc21hbGxlc3QgMCBiaXQKICAgICAgICAgICAgYml0ID0gKHZhbCsxKSAmIH52YWwKICAgICAgICAgICAgIyBzZXQgaXQgdG8gMSBhbmQgcmVtb3ZlIHRoZSByZW1haW5kZXIKICAgICAgICAgICAgdmFsID0gKHZhbCsxKS8vYml0CiAgICAgICAgICAgIGlmIHZhbD09MToKICAgICAgICAgICAgICAgICMgdGhlcmUgd2VyZW4ndCBhbnkgMCBiaXRzIGluIHRoZSBzdHJpbmcKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgIApwcmludExleFRvKDIzKQ==