끝까지 외친 정수의 개수

아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

두 명의 학생이 1이상 n이하의 정수를 외치는 게임을 하고 있다. 첫 번째 학생이 먼저 정수를 외친 후 두 명의 학생이 교대로 정수를 외친다. 이전 학생이 외친 정수가 a이면 현재 학생은 (a + 1)이상 (a + k)이하의 정수를 외쳐야 한다. 맨 처음 첫 번째 학생은 1이상 k이하의 정수를 외쳐야 한다. 추가로, 두 명의 학생이 외칠 수 없는 정수 목록이 주어지고, 두 명의 학생은 목록에 있는 정수를 외칠 수 없다. 마지막에 정수를 못 외치는 학생이 게임을 진다. 현재 학생이 이길 수 있는 정수가 있으면 현재 학생이 이기면서 두 명의 학생이 앞으로 외칠 정수 개수의 합이 최소가 되도록 플레이하고, 현재 학생이 이길 수 있는 숫자가 없으면 두 명의 학생이 앞으로 외칠 정수 개수의 합이 최대가 되도록 플레이한다. 현재 학생이 외칠 수 있는 정수가 여러 개이면, 외칠 수 있는 정수 중 하나를 외친다. 두 명의 학생이 규칙에 맞게 플레이 했을 때, 두 명의 학생이 외친 정수 개수의 합을 출력하자.

입력

첫 번째 줄에 nk가 공백을 사이에 두고 순서대로 주어진다.

두 번째 줄에 두 명의 학생이 외칠 수 없는 서로 다른 정수가 빈칸을 사이에 두고 오름차순으로 주어진다.

출력

첫 번째 줄에 두 명의 학생이 규칙에 맞게 플레이 했을 때, 두 명의 학생이 외친 정수 개수의 합을 출력한다.

제한

  • 1 ≤ n ≤ 100,000
  • 1 ≤ k ≤ 100
  • 두 명의 학생이 외칠 수 없는 서로 다른 정수 목록의 개수는 1보다 크거나 같고 n보다 작거나 같다.
  • 두 명의 학생이 외칠 수 없는 정수는 1보다 크거나 같고 n보다 작거나 같은 양의 정수이다.