import java.io.*; import java.util.*; public class Main_yukicoder643 { private static Scanner sc; private static Printer pr; private static void solve() { int x = sc.nextInt(); int y = sc.nextInt(); Map dp = new HashMap<>(); dp.put(new Pair(x, y), 0); Queue q = new ArrayDeque<>(); q.add(new Pair(x, y)); while (!q.isEmpty()) { Pair e = q.remove(); // pr.println(e); if (e.a == e.b) { int ans = dp.get(e); if (ans > 100) { pr.println(-1); } else { pr.println(ans); } // pr.println(dp.get(e)); // pr.println(e); return; } Pair tmp = new Pair(e.b, e.a); if (!dp.containsKey(tmp)) { q.add(tmp); dp.put(tmp, dp.get(e) + 1); } tmp = new Pair(e.a + e.b, e.a - e.b); if (!dp.containsKey(tmp)) { q.add(tmp); dp.put(tmp, dp.get(e) + 1); } } } private static class Pair implements Comparable { long a; long b; Pair(long a, long b) { this.a = a; this.b = b; } @Override public int compareTo(Pair o) { if (a == o.a) { return Long.compare(b, o.b); } return Long.compare(a, o.a); } @Override public int hashCode() { return Long.hashCode(a); } @Override public boolean equals(Object obj) { return a == ((Pair)obj).a && b == ((Pair)obj).b; } @Override public String toString() { // [xxx, xxxx] StringBuilder stmp = new StringBuilder(32); stmp.append('['); stmp.append(a); stmp.append(','); stmp.append(' '); stmp.append(b); stmp.append(']'); return stmp.toString(); } } // --------------------------------------------------- public static void main(String[] args) { sc = new Scanner(System.in); pr = new Printer(System.out); solve(); pr.close(); sc.close(); } private static class Printer extends PrintWriter { Printer(PrintStream out) { super(out); } } }