한 줄로 놓인 m개의 돌이 있고, 각 돌은 k가지 색 중 하나로 칠해져 있습니다. 같은 색의 돌 두 개 사이에 다른 색의 돌이 끼어 있지 않도록, 즉 남은 돌들을 왼쪽에서 오른쪽으로 읽었을 때 각 색의 돌이 모두 하나의 연속된 덩어리로 모이도록 돌을 제거하려고 합니다. 돌의 순서를 바꿀 수는 없고 오직 제거만 할 수 있을 때, 제거해야 하는 돌의 최소 개수를 구하세요.
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 두 정수 m과 k가 주어집니다 (1≤m≤100, 1≤k≤5). 다음 줄에는 각 돌의 색을 나타내는 m개의 정수 x1,…,xm이 주어지며, 각 값은 집합 {1,…,k}에 속합니다. 입력의 끝은 m=k=0인 줄로 표시되며, 이 줄은 처리하지 않습니다.
각 테스트 케이스마다, 조건을 만족시키기 위해 제거해야 하는 돌의 최소 개수를 한 줄에 출력합니다.
예를 들어 돌의 색이 순서대로 2 1 2 2 1 1 3 1 3 3인 경우, 2번째 돌과 7번째 돌을 제거하면 2 2 2 1 1 1 3 3이 되어 2가 세 개, 1이 세 개, 3이 두 개씩 각각 하나의 덩어리로 모입니다. 따라서 최소 제거 개수는 2입니다. 다른 최적해가 존재할 수도 있습니다.