fromcollectionsimportdequeimportsysinput=sys.stdin.readlineif__name__=='__main__':N,K=map(int,input().split())# 수빈이 위치/ 동생위치
visited=[0]*1000001past=[0]*1000001queue=deque([N])whilequeue:n=queue.popleft()ifn==K:print(visited[K])ans=[]whilen!=N:#past 배열에는 이전에 어떤 노드들을 지나왔는지 기록되어있으니 그 경로를 탐색한다.
ans.append(n)n=past[n]ans.append(N)ans.reverse()# 거꾸로 출력
print(' '.join(map(str,ans)))breakfornxin(n+1,n-1,2*n):if0<=nx<1000001andvisited[nx]==0:visited[nx]=visited[n]+1# 시간증가
queue.append(nx)past[nx]=n# 최종 경로 출력시 nx값을 통해 이전위치 알아내기 위해 저장