#include<bits/stdc++.h>
using namespace std;
char a[105][15];
int n,k,x,y,sz[1050],vis[105][15],tot;
int dx[] = {0,0,1,-1};
int dy[] = {1,-1,0,0};
void dfs(int x,int y){
vis[x][y] = tot;
sz[tot] ++;
for(int i = 0;i <= 3;i ++){
int xx = x + dx[i];
int yy = y + dy[i];
if(vis[xx][yy] == 0 && a[x][y] == a[xx][yy])
dfs(xx,yy);
}
}
int main(){
cin >> n >> k;
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= 10;j ++){
cin >> a[i][j];
}
}
while(1){
memset(vis,0,sizeof(vis));
memset(sz,0,sizeof(sz));
tot = 0;
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= 10;j ++){
if(a[i][j] && vis[x][y] == 0){
x = i,y = j;
dfs(x,y);
tot ++;
}
}
}
bool flag = true;
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= 10;j ++){
if(sz[vis[i][j]] >= k){
x = i,y = j;
a[x][y] = '0';
flag = false;
}
if(flag)break;
for(int j = 1;j <= 10;j ++){
int m = n;
for(int i = n;i >= 1;i --){
if(a[i][j] != 0)swap(a[i][j],a[m --][j]);
}
}
}
}
}
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= 10;j ++){
cout << a[i][j];
}
cout << endl;
}
return 0;
}