시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
동호는 너비가 모두 같은 도자기 장식판을 박스에 담으려고 한다. 각 장식판은 높이 h, 너비 w인 격자로 주어지며, X는 실제 장식판이 차지하는 칸이고 .은 빈 칸이다.
박스의 너비는 장식판의 너비와 같으므로 장식판을 회전하거나 좌우로 옮길 수 없다. 장식판은 입력으로 주어진 순서대로 한 박스 안에 쌓는다.
새 장식판을 현재 박스에 넣을 때는 모양을 그대로 유지한 채 위에서 아래로 내린다. 이미 놓인 장식판의 X 칸과 새 장식판의 X 칸이 겹치지 않는 가장 낮은 위치에 둔다. 겹침 판정에는 X 칸만 사용하지만, 놓인 뒤의 높이는 새 장식판의 h행 격자 전체가 차지하는 범위까지 포함한다.
새 장식판을 그렇게 놓았을 때 박스 안의 전체 높이가 b를 넘으면, 현재 박스는 더 이상 사용하지 않고 그 장식판부터 새 박스의 바닥에 다시 쌓기 시작한다. 모든 장식판을 순서대로 처리했을 때, 각 박스에 쌓인 최종 높이를 구하라.
첫째 줄에 자연수 n, w, b가 공백으로 구분되어 주어진다. 세 값은 모두 100 이하이다.
n은 장식판의 개수, w는 장식판과 박스의 너비, b는 박스의 높이 제한이다.
이어서 n개의 장식판 정보가 주어진다. 각 장식판 정보의 첫 줄에는 장식판의 높이 h가 주어진다. h는 1 <= h <= 10이고 h <= b이다. 다음 h개의 줄에는 길이 w인 문자열이 위쪽 행부터 아래쪽 행까지 차례로 주어진다. 각 문자는 . 또는 X이다.
사용한 박스의 개수만큼 정수를 출력한다. 각 정수는 해당 박스에 쌓인 장식판들의 최종 높이이며, 입력 순서대로 만든 박스의 높이를 공백으로 구분해 출력한다.