해적의 보물 지도는 무인도에 상륙한 지점에서 보물이 묻힌 X 표시 지점까지 이어지는 이동 지시들의 목록입니다. 어떤 섬 하나에서 이 걷기의 최단 경로를 구하는 것이 목표입니다.
섬은 원점 $(0, 0)$을 중심으로 하고 반지름이 $r$ 걸음인 원판입니다. 중심을 기준으로 $(0, 1)$은 북(north), $(0, -1)$은 남(south), $(1, 0)$은 동(east), $(-1, 0)$은 서(west)이고, $(1, 1)$은 북동(northeast), $(1, -1)$은 남동(southeast), $(-1, 1)$은 북서(northwest), $(-1, -1)$은 남서(southwest)입니다.
상륙 지점은 섬의 해안, 즉 경계 원 위의 한 점이고, X 표시 지점은 섬 안 어딘가에 있습니다. 하나의 지시는 다음 형태입니다.
방향 거리
여기서 방향은 north, south, east, west, northeast, northwest, southeast, southwest 중 하나이고, 거리는 그 방향으로 걷는 걸음 수입니다. 예를 들어 northeast 방향으로 거리 $d$만큼 걸으면 동쪽으로 $d / \sqrt{2}$ 걸음, 북쪽으로 $d / \sqrt{2}$ 걸음 이동합니다.
섬을 한 번도 벗어나지 않으면서 상륙 지점에서 X 표시 지점까지 이어지는 모든 지시 수열을 생각합니다. 그러한 수열 중에서 걸은 총 거리(각 지시의 거리의 합)의 최솟값을 구하세요.
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 다섯 개의 정수 $r$, $x$, $y$, $X$, $Y$가 주어지는 한 줄입니다. 각각 섬의 반지름, 상륙 지점의 좌표 $(x, y)$, X 표시 지점의 좌표 $(X, Y)$를 뜻합니다. 상륙 지점은 해안 위에 있으므로 $x^2 + y^2 = r^2$이고, X 표시 지점은 섬 안에 있으므로 $X^2 + Y^2 \le r^2$입니다. 상륙 지점과 X 표시 지점은 서로 다릅니다. 마지막 테스트 케이스 뒤에는 -1 하나만 있는 줄이 옵니다.
각 테스트 케이스마다, 걸은 총 거리의 최솟값을 소수점 아래 여섯째 자리까지 반올림하여 한 줄에 출력하세요.