노래방 2

두 가수가 나눠 갖는 중간 음역대의 음을 적절히 배정해 노래 전체에서 마이크가 바뀌는 횟수를 최소로 만든다.

보통6동적 계획법그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이와 효빈이가 노래방에서 노래를 부른다.

음의 높이는 1부터 M까지이고, 1이 가장 낮은 음, M이 가장 높은 음이다. 영선이는 low 이상 M 이하인 음만 부를 수 있고, 효빈이는 1 이상 high 이하인 음만 부를 수 있다.

두 사람은 노래를 시작하기 전에 각 높이의 음을 누가 맡을지 미리 정한다. 예를 들어 영선이가 3을 맡기로 했다면 노래에 3이 나올 때마다 영선이가 그 부분을 부르고, 효빈이는 3을 절대 부를 수 없다. 한 번 정한 담당은 노래가 끝날 때까지 그대로다. low보다 낮은 음은 효빈이만, high보다 높은 음은 영선이만 부를 수 있으므로 그런 음의 담당은 이미 정해져 있다.

노래는 음 N개가 순서대로 이어진 것이다. 마이크는 하나뿐이고, 지금 나오는 음을 맡은 사람이 마이크를 들고 있어야 한다. 첫 음을 맡은 사람이 마이크를 들고 시작하며, 이웃한 두 음의 담당이 다른 지점마다 마이크를 넘겨야 한다.

담당을 어떻게 정하느냐에 따라 마이크를 넘기는 횟수가 달라진다. 마이크를 넘기는 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N, M, low, high가 주어진다. (1N10001 \le N \le 1000, 1M10001 \le M \le 1000, 1lowM1 \le \textit{low} \le M, lowhighM\textit{low} \le \textit{high} \le M)

둘째 줄에 노래의 음 N개가 순서대로 주어진다. 각 음은 1 이상 M 이하인 정수이다.

출력

첫째 줄에 마이크를 넘기는 횟수의 최솟값을 출력한다.