#include <bits/stdc++.h>
using namespace std;
static bool sync_with_stdio(0);
bool Is2n(int n) {
  if (n <= 0) return false;
  if ((n & ((~n) + 1)) == n)
    return true;
  else
    return false;
}
int gcd(int a, int b) {
  int c;
  while (a != 0) {
    c = a;
    a = b % a;
    b = c;
  }
  return b;
}
struct Comparator {
  int operator()(const pair<int, int>& P1, const pair<int, int>& P2) const {
    return (P1.second > P2.second);
  }
};
int dx[] = {0, 1, 0, -1};
int dy[] = {-1, 0, 1, 0};
typedef struct {
  int x, y;
} Point;
struct C {
  int operator()(const Point& P1, const Point& P2) const {
    if (P1.y == P2.y) return (P1.x < P2.x);
    return (P1.y < P2.y);
  }
};
vector<string> S;
map<Point, vector<Point>, C> G;
vector<vector<bool> > V;
int Y, X;
void DFS(Point p, int& rem) {
  if (rem == 0) return;
  if (G[p].size() == 0) {
    S[p.y][p.x] = 'X';
    rem--;
  } else {
    for (int i = int(0); i < int(G[p].size()); i++) {
      Point tmp = G[p][i];
      DFS(tmp, rem);
      if (rem == 0) return;
    }
    if (rem != 0) {
      S[p.y][p.x] = 'X';
      rem--;
    }
  }
}
void GenTree(int i, int j) {
  Point P;
  V[i][j] = true;
  vector<Point> tmp;
  for (int l = int(0); l < int(4); l++) {
    int xx = j + dx[l];
    int yy = i + dy[l];
    if (xx >= 0 && xx < X && yy >= 0 && yy < Y && S[yy][xx] == '.' &&
        !V[yy][xx]) {
      P.x = xx;
      P.y = yy;
      tmp.push_back(P);
      GenTree(yy, xx);
    }
  }
  P.x = j;
  P.y = i;
  G[P] = tmp;
}
int main() {
  int k;
  cin >> Y >> X >> k;
  S = vector<string>(Y);
  V = vector<vector<bool> >(Y);
  vector<bool> T(X, false);
  for (int i = int(0); i < int(Y); i++) {
    cin >> S[i];
    V[i] = T;
  }
  Point P;
  Point root;
  bool R = true;
  for (int i = 0; i < Y && R; i++) {
    for (int j = 0; j < X && R; j++) {
      if (S[i][j] == '.') {
        GenTree(i, j);
        if (R) {
          root.y = i;
          root.x = j;
          R = false;
        }
      }
    }
  }
  DFS(root, k);
  for (int i = int(0); i < int(Y); i++) cout << S[i] << endl;
  return 0;
}
