def graycode(l,r): if l==1: return [0] if l==2: return [0,1] if l//2<=r: ret=graycode(l//2,r-l//2) ret=ret[::-1]+ret for i in range(l//2,l): ret[i]^=l//2 return ret else: ret=graycode(l//2,r) ret=ret+ret[::-1] for i in range(l//2,l): ret[i]^=l//2 return ret def nibeki(i): ret=1 while ret