시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
바이너리 파워 비숍은 무한한 체스판 위에 있다. 현재 위치가 (x, y)일 때, 아직 사용하지 않은 음이 아닌 정수 k를 하나 골라 2^k칸만큼 대각선으로 이동할 수 있다. 따라서 한 번의 이동으로 (x + 2^k, y + 2^k), (x + 2^k, y - 2^k), (x - 2^k, y + 2^k), (x - 2^k, y - 2^k) 중 하나로 갈 수 있다.
비숍은 (0, 0)에서 출발해 (x, y)로 이동하려고 한다. 방문하는 칸의 수가 최소가 되는 경로를 구하시오.
체스판은 무한히 넓으며, 음수 좌표의 칸도 방문할 수 있다.
첫째 줄에 목표 좌표 x와 y가 공백으로 구분되어 주어진다.
두 수는 모두 100,000,000 이하의 자연수이다.
비숍이 (x, y)까지 이동할 수 있다면, 첫째 줄에 방문하는 칸 수의 최솟값을 출력한다. 둘째 줄부터는 (0, 0)에서 (x, y)까지 비숍이 방문하는 칸을 차례대로 출력한다.
각 좌표는 x,y 형식으로 출력해야 한다. 가능한 최적 경로가 여러 개라면 아무 경로나 출력해도 된다.
이동할 수 없다면 첫째 줄에 -1을 출력한다.