턴 게임

최종 점수 x와 y가 주어질 때, 1, 2, 3, ...의 앞부분을 두 그룹으로 나눠 합이 각각 x, y가 되게 할 수 있는지 판정하고, 가능하면 윤호가 이긴 턴 수의 최솟값을 구한다.

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

문제

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

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

두 정수 xxyy가 주어졌을 때, 게임이 끝난 뒤 윤호의 점수가 xx, 동혁이의 점수가 yy가 되는 경우가 존재하는지 판단하는 프로그램을 작성하시오. 존재한다면 윤호가 이겨야 하는 턴의 최소 개수도 구하시오.

입력

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

출력

윤호가 최소 몇 번 이겨야 하는지 출력한다. 가능한 경우가 없으면 1-1을 출력한다.

힌트

윤호의 점수가 77, 동혁이의 점수가 1414이면 게임은 66턴 동안 진행된다. 윤호가 1,2,41, 2, 4번 턴을 이기고 동혁이가 3,5,63, 5, 6번 턴을 이기는 것도 가능한 결과이다. 윤호의 승리 횟수가 가장 적은 경우는 윤호가 11번과 66번 턴을 이기고 동혁이가 2,3,4,52, 3, 4, 5번 턴을 이긴 경우이다.