밧줄 접기
면접 대비시간 제한1초메모리 제한128 MB
밧줄 위 정수 위치에 매듭이 있을 때, 겹치는 구간의 모든 매듭이 다른 매듭으로 정확히 반사되는 접는 위치의 수를 센다.
문제
농부 John은 농장 일에 쓰는 길이 ()인 밧줄을 가지고 있습니다. 이 밧줄에는 서로 다른 정수 위치에 개 ()의 매듭이 묶여 있으며, 양 끝점(위치 과 )에도 각각 매듭이 하나씩 있습니다.
John은 특정 지점에서 밧줄을 자기 자신 위로 접을 수 있습니다. 어떤 지점에서 접으면 밧줄의 한쪽이 반대쪽 위로 반사되어 겹칩니다. 두 가닥이 겹치는 모든 구간에서 한 가닥의 매듭이 반대쪽 가닥의 매듭과 정확히 일치하면, 그 접기를 좋은 접기라고 합니다.
정확히 말하면, 위치 ()에서 접으면 위치 의 매듭은 위치 로 반사됩니다. 더 짧은 쪽의 길이를 라 하면 두 가닥은 구간 에서 겹칩니다. 이 겹침 구간 안에 있는 모든 매듭 에 대해 그 반사 위치 에도 매듭이 있으면 좋은 접기입니다.
매듭 위치에서 접는 것은 허용되지만, 양 끝점에서 접는 것은 허용되지 않습니다. 겹침 구간 바깥, 즉 더 긴 쪽에 있는 여분의 매듭은 상관없습니다. John은 한 번에 한 번만 접습니다.
좋은 접기가 가능한 위치의 개수를 세어 주세요.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 .
- 번째 줄: 각 줄에 범위의 정수 하나, 즉 한 매듭의 위치. 이 위치들 중 두 개는 항상 과 입니다.
출력
- 첫째 줄: 좋은 접기가 가능한 위치의 개수 하나.
힌트
예를 들어 밧줄의 길이가 이고 매듭이 에 있으면, 좋은 접기 위치는 의 네 곳입니다.
- 에서 접기: 겹침 구간은 이고 매듭 과 가 서로 반사되어 일치합니다.
- 에서 접기: 겹침 구간은 이고 매듭 가 를 중심으로 대칭입니다.
- 에서 접기: 겹침 구간은 이고 매듭 이 을 중심으로 대칭입니다.
- 에서 접기: 겹침 구간은 이고 매듭 과 이 서로 반사되어 일치합니다(여분의 매듭 는 더 긴 쪽에 있으므로 무시됩니다).
접는 위치는 반정수(정수의 절반)일 수도 있습니다. 짧은 쪽 끝의 매듭이 정수 매듭 위로 반사되어야 하므로, 모든 좋은 접기는 가 정수인 지점에서 일어납니다.