'''
떨어지는 1자 블록

0과 1로만 채워져 있는 n * n 크기의 격자판 정보가 주어집니다. 0은 빈 칸을, 1은 해당 칸에 블럭이 채워져 있음을 뜻합니다.
이때 1 * m 크기의 블럭이 격자판 위에서 떨어집니다. 이 블럭은 k번째 열 부터 k + m - 1번째 열까지의 공간을 차지하며, 가장 위에서부터 밑으로 떨어집니다.
만약 이 블럭이 떨어지는 도중 단 한곳에라도 이미 격자판 위에 놓여있던 블럭과 맞닿게 된다거나, 혹은 바닥에 닿게 된다면 떨어지는 것을 멈추게 됩니다.

예를 들어, 다음과 같이 블럭이 채워져 있던 경우를 생각해봅시다.
이때 만약 1 * 3 크기의 블럭을 첫 번째 열부터 3번째 열까지의 공간을 차지하게 떨어뜨리게 되면 다음과 같이 블럭이 격자판 위에 안착하게 됩니다.
격자판의 정보와 떨어질 블럭의 정보가 주어졌을 때, 블럭이 떨어진 이후의 상태를 출력하는 프로그램을 작성해보세요.

입력 형식
첫 번째 줄에는 격자의 크기를 나타내는 n과 블록의 크기를 나타내는 m, 그리고 블록이 떨어질 위치에 대한 정보를 나타내는 k값이 각각 공백을 사이에 두고 주어집니다.
이는 1 * m 크기의 블록이 k번째 열 부터 k + m - 1번째 열까지의 공간을 차지하며 떨어짐을 의미합니다. (1 ≤ m ≤ n, 1 ≤ k ≤ n - m + 1)
두 번째 줄 부터는 n개의 줄에 걸쳐 각 행에 해당하는 n개의 숫자가 공백을 사이에 두고 주어집니다. 주어지는 숫자는 항상 1 또는 0이며, 1은 블럭이 들어있음을, 0은 비어있음을 의미합니다. 단, 첫 번째 행의 경우에는 전부 값이 0으로 주어짐을 가정해도 좋습니다.

1 ≤ n ≤ 100

출력 형식
블럭이 떨어진 이후의 격자판 상태를 출력합니다.
n개의 줄에 걸쳐 각 행에 대한 정보를 공백을 사이에 두고 출력합니다. 블럭이 들어있는 칸이라면 1을, 비어있는 칸이라면 0을 출력합니다.

입출력 예제
예제1
입력:
4 3 1
0 0 0 0
0 0 0 1
1 0 0 1
1 1 1 1

출력: 
0 0 0 0
1 1 1 1
1 0 0 1
1 1 1 1

예제2
입력:
4 2 2
0 0 0 0
0 0 0 1
1 0 0 1
1 1 1 1

출력: 
0 0 0 0
0 0 0 1
1 1 1 1
1 1 1 1
'''