#include <bits/stdc++.h>
using namespace std;
const long long N = 5e2 + 1;
int n, m, k;
char a[N][N];
bool used[N][N];
void dfs(int x, int y) {
  if (x < 0 || x >= n || y < 0 || y >= m) return;
  if (used[x][y]) return;
  if (a[x][y] == '#') return;
  used[x][y] = true;
  int f = 1;
  dfs(x + 1, y);
  dfs(x - 1, y);
  dfs(x, y + 1);
  dfs(x, y - 1);
  if (k > 0) {
    k--;
    a[x][y] = 'X';
  }
}
int main() {
  cin >> n >> m >> k;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) cin >> a[i][j];
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      if (a[i][j] == '.') {
        dfs(i, j);
        break;
      }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) cout << a[i][j];
    cout << '\n';
  }
}
