N, K = map(int, input().split()) if N == K : print("0\n1\n") else : from collections import deque qu = deque() visited = [[-1,0] for _ in range(100001)] # [min sec, visit count] qu.append(N) visited[N][0] = 0 visited[N][1] = 1 while qu : cur = qu.popleft() for next in [cur+1, cur-1, 2*cur] : if 0<=next<=100000 : if visited[next][0] == -1 : visited[next][0] = visited[cur][0] + 1 visited[next][1] = visited[cur][1] qu.append(next) elif visited[cur][0] + 1 == visited[next][0] : visited[next][1] += visited[cur][1] print(f'{visited[K][0]}\n{visited[K][1]}\n')