번호 자물쇠
면접 대비시간 제한1초메모리 제한128 MB
각 자물쇠에서 다이얼의 가능한 모든 시작 위치 중 세 단계를 거치는 동안 돌린 눈금 수의 합이 최대가 되는 값을 구한다.
문제

번호 자물쇠는 시계 방향이나 반시계 방향으로 돌릴 수 있는 원형 다이얼로 이루어져 있으며, 이 다이얼은 자물쇠의 고정된 부분에 끼워져 있다. 다이얼에는 개의 눈금이 일정한 간격으로 있으며, 시계 방향으로 갈수록 커지도록 부터 까지 번호가 매겨져 있다. 자물쇠의 고정된 부분에는 항상 다이얼의 특정 눈금 하나를 가리키는 표시가 있다. 다이얼을 돌리면 표시가 가리키는 눈금이 바뀐다.
자물쇠에는 세 개의 코드 번호 , , 가 주어진다. 이들은 음이 아닌 정수이며 각각 보다 작고, 셋 중 어느 두 개도 서로 같지 않다.
자물쇠는 다음 세 단계로 연다.
- 다이얼을 시계 방향으로 정확히 두 바퀴 돌린 뒤, 표시가 눈금 을 가리킬 때까지 계속 시계 방향으로 돌린다.
- 다이얼을 반시계 방향으로 한 바퀴 돌린 뒤, 표시가 눈금 를 가리킬 때까지 계속 반시계 방향으로 돌린다.
- 표시가 눈금 를 가리킬 때까지 다이얼을 시계 방향으로 돌린다. 이제 자물쇠가 열린다.
자물쇠를 열기 위해 다이얼을 돌려야 하는 눈금 수의 최댓값을 구해야 한다. 돌린 눈금 수는 위 세 단계에서 돌린 눈금 수의 합이며, 각 단계에서 돌린 양은 방향과 관계없이 항상 양수로 센다. 표시가 처음에 가리키는 눈금은 미리 알 수 없으므로, '최댓값'은 가능한 모든 처음 위치에 대해 구한 눈금 수 합의 최댓값을 뜻한다.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 한 줄에 하나씩 주어진다. 각 줄에는 네 정수 , , , 가 이 순서대로 공백으로 구분되어 주어진다. 은 의 배수이고 이다. , , 는 위에서 설명한 조건을 만족한다(각각 이상 미만이며, 어느 두 개도 서로 같지 않다). 입력의 끝은 공백으로 구분된 네 개의 이 있는 줄로 나타낸다.
출력
각 테스트 케이스마다, 자물쇠를 열기 위해 다이얼을 돌려야 하는 눈금 수의 최댓값을 한 줄에 하나씩 출력한다. 출력 사이에 빈 줄을 넣지 않는다.