턴 게임 2

1, 3, 5, ... 점을 주는 턴에서 윤호가 x점, 동혁이 y점이 되도록 승패를 나눌 수 있는지 판정하고, 윤호가 이긴 턴 수의 최솟값을 구한다.

보통5수학그리디정수론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

윤호와 동혁이는 알고리즘 캠프에 참가하고 있다. 두 사람은 문제가 잘 풀리지 않을 때 게임을 하면서 쉰다.

게임은 여러 번의 턴으로 이루어지고, 각 턴은 두 사람 중 한 명이 이긴다. 턴 번호는 1부터 시작하며, ii번째 턴을 이긴 사람은 2i12i-1점을 얻는다.

게임의 총 턴 수는 정해져 있지 않다. 0번을 포함해 어떤 턴 수든 가능하다.

두 정수 xxyy가 주어진다. 윤호의 점수가 xx, 동혁이의 점수가 yy가 되는 것이 가능한지 판정하고, 가능하다면 윤호가 최소 몇 번 이겨야 하는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 xxyy가 주어진다. (0x,y10120 \le x, y \le 10^{12})

출력

윤호가 최소 몇 번 이겨야 하는지 출력한다. 두 사람의 점수가 각각 xxyy가 되는 것이 불가능하면 -1을 출력한다.