전기기사 카우보이 조
면접 대비시간 제한2초메모리 제한1024 MB
높이 h1, h2인 두 막대가 거리 d만큼 떨어져 있고 점프 시 허용되는 높이 변화가 l일 때, 두 막대 꼭대기를 모두 방문하며 오르는 거리의 최솟값을 구한다.
문제
조는 전기기사 카우보이다. 모든 카우보이에게 올가미가 있듯이, 모든 전기기사가 가끔 전봇대에 올라가야 하듯이, 그는 게으르다.
지금 그는 서로 만큼 떨어져 있는 높이 , 의 두 전봇대를 점검하라는 임무를 받았다. 모든 것이 정상인지 확인하려면 조는 두 전봇대의 꼭대기에 모두 올라가야 한다.
전기기사 카우보이는 다음과 같이 전봇대를 방문한다. 먼저 전봇대 하나를 골라 그냥 올라간다. 꼭대기에서 모든 작업을 마친 후, 그 전봇대를 타고 어떤 높이까지 내려온다(지면까지 내려올 수도 있다). 그런 다음 올가미를 꺼내 두 번째 전봇대의 어떤 점에 건다(임의의 점이어도 된다). 그 후 조는 뛰어내려 올가미가 걸린 점을 중심으로 하는 원호를 따라 아래로 이동하며, 다른 전봇대나 지면에 닿을 때까지 움직인다.
이때 전기기사의 시작 위치에서 비행이 끝날 때까지 높이가 보다 많이 변하면, 카우보이는 너무 큰 속도를 얻어 세게 부딪혀 병원에 실려 가고 작업을 끝내지 못한다. 따라서 조는 항상 점프의 매개변수를 신중하게 고른다.
점프 결과 조가 지면에 닿으면, 그는 다른 전봇대로 걸어가 올라간다. 조가 전봇대 위에 닿으면, 그는 그 지점에서 꼭대기까지 올라간다.

조는 작업을 수행하는 데 그가 전봇대를 타고 올라가야 하는 최소 거리를 알려 달라고 부탁한다.
입력
입력 파일에는 네 개의 양의 정수 , , , 이 주어진다. 이는 각각 전봇대 사이의 거리, 첫 번째와 두 번째 전봇대의 높이, 점프 시 허용되는 최대 높이 차이이다. 입력 파일의 모든 수는 을 넘지 않는다.
출력
가능한 최대 정밀도로 답을 출력한다. 답은 의 오차 범위 내에서 채점된다.