보도 기둥

시간 제한1초메모리 제한128 MB

문제

보도에 주차된 차가 많아 보행자가 지나가기 어려워졌다. 시에서는 작은 기둥을 추가로 세워 보도의 일부를 도로와 분리하려고 한다.

보도는 1미터 길이의 칸들로 나뉘며, 하나의 문자열로 표현된다. 점(.)은 그 칸이 비어 있어 주차에 사용할 수 있음을 뜻한다. 문자 X는 이미 기둥이 있는 칸이므로 차가 사용할 수 없음을 뜻한다.

도시의 모든 차는 길이가 정확히 L미터이다. 어떤 위치에서 차를 주차하려면, 그 위치부터 L개의 연속된 빈 칸이 있어야 한다.

시는 추가로 사용할 수 있는 기둥을 최대 N개 가지고 있다. 기둥을 몇 개 세워 다음 조건을 만족시키고자 한다.

  1. 가능한 주차 시작 위치의 수가 최소가 되어야 한다.
  2. 첫 번째 조건을 만족하는 배치가 여러 개라면, 추가로 세운 기둥의 수가 가장 적어야 한다.

N, L, 현재 보도 상태가 주어졌을 때 두 조건을 모두 만족하는 최종 보도 배치 중 하나를 출력하라.

입력

첫째 줄에 두 정수 NL (1 <= N, L <= 100)이 주어진다. N은 추가로 사용할 수 있는 기둥의 수이고, L은 차의 길이이다.

둘째 줄에는 현재 보도 상태를 나타내는 길이 100 이하의 문자열이 주어진다. 각 문자는 보도의 1미터 구간을 나타낸다. 문자 X는 이미 기둥이 있는 칸을, .은 비어 있는 칸을 의미한다.

출력

필요하다면 기둥을 추가로 세운 뒤의 보도 배치를 입력과 같은 형식으로 출력한다.

정답은 유일하지 않을 수 있다.

힌트

첫 번째 공개 테스트에서는 기둥을 3개까지 사용할 수 있지만, 2개만 세워도 더 이상 차가 주차할 수 없게 만들 수 있다.

두 번째 공개 테스트에서 제시된 최종 배치는 차를 주차할 수 있는 시작 위치를 4곳 남긴다. 이보다 더 적게 만드는 배치는 없다.