import java.util.Scanner;
public class bj16953_a에서b {
static long A, B;
static int res, cnt;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
A = sc.nextInt();
B = sc.nextInt();
res = -1;
dfs(A, 0);
System.out.println(res);
}
static void dfs(long cur, int cnt) {
if(cur > B) return;
if(cur == B) {
res = cnt + 1;
return;
}
dfs(cur * 10 + 1, cnt + 1);
dfs(cur * 2, cnt + 1);
}
}
// A, B를 int로 받으면 틀렸습니다 뜨기 떄문에
// long으로 바꾸었더니 뜨지 않았다.
// 아마 2를 곱하는 연산에서 int의 범위를 벗어나 오버플로우가 발생할 가능성이 있어서인 것 같다.