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=2 or len(wp)>=2: if len(hp[0])len(wp[0]): for i in hp[0]: order.append(i) hp=hp[1:] else: lg=len(hp[0]) c=0 for i in hp: if len(i)lg: break c+=1 d=0 for i in wp: if len(i)lg: break d+=1 if c