벌집

무한 벌집에서 1번 세포로부터의 거리 순서로 번호를 매긴 두 세포의 인덱스가 주어질 때, 두 세포 사이의 거리를 구한다.

보통5수학기하구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

그림처럼 무한히 이어지는 벌집이 있다. 두 칸은 변을 맞대고 있을 때만 인접하다고 한다. 칸 c0c_0에서 칸 ckc_k까지 길이가 kk인 경로는 0i<k0 \le i < k인 모든 ii에 대해 cic_ici+1c_{i+1}이 인접한 칸의 수열 c0,c1,,ckc_0, c_1, \dots, c_k이다. 두 칸 사이의 거리는 한 칸에서 다른 칸으로 가는 가장 짧은 경로의 길이이다.

벌집의 각 칸에는 그림과 같이 양의 정수 번호가 하나씩 붙어 있다. 1번 칸에서 멀리 떨어진 칸일수록 번호가 크고, 1번 칸에서 거리가 같은 칸끼리는 왼쪽에서 오른쪽으로 갈수록 번호가 커진다. 거리가 같은 칸 중에는 같은 열에 놓인 칸도 있다. 이때는 왼쪽 끝 열에서 아래쪽 칸이 먼저이고, 오른쪽 끝 열에서 위쪽 칸이 먼저다. 즉 거리가 같은 칸들은 왼쪽 아래 칸에서 시작해 그 열을 따라 위로 올라간 다음, 꼭대기를 지나 오른쪽 아래 칸까지 내려오는 순서로 번호가 붙는다. 모든 양의 정수는 정확히 한 칸의 번호이다.

번호로 주어진 두 칸 사이의 거리를 구한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 두 칸의 번호 iijj를 공백 하나로 구분해 담은 한 줄이다 (1i,j1041 \le i, j \le 10^4). 마지막 줄에는 0 0이 주어지며, 이 줄은 테스트 케이스가 아니다.

출력

각 테스트 케이스마다 주어진 두 칸 사이의 거리를 한 줄에 하나씩 출력한다.