#include <bits/stdc++.h>
using namespace std;
int n, m;
int c[110][110];
char ans[2 * 110];
long long d[2 * 110][110];
long long k;
long long get_count() {
  memset(d, 0, sizeof(d));
  d[1][0] = 1;
  for (int i = 2; i <= n + m - 1; i++)
    for (int j = 0; j <= i / 2; j++) {
      if (ans[i] == 0)
        d[i][j] = min(1000000000000000000LL, d[i - 1][j - 1] + d[i - 1][j]);
      else {
        if (ans[i] == '(')
          d[i][j] = d[i - 1][j];
        else
          d[i][j] = d[i - 1][j - 1];
      }
    }
  return d[n + m - 1][(n + m) / 2];
}
void solve() {
  for (int i = 1; i <= n * m; i++) {
    int pos = 0;
    for (int p = 1; p <= n; p++) {
      for (int q = 1; q <= m; q++)
        if (c[p][q] == i) {
          pos = p + q - 1;
          break;
        }
      if (pos) break;
    }
    if (ans[pos] == 0) {
      ans[pos] = '(';
      long long aux = get_count();
      if (aux < k) {
        k -= aux;
        ans[pos] = ')';
      }
    }
  }
}
int main() {
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) cin >> c[i][j];
  solve();
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) cout << ans[i + j - 1];
    cout << "\n";
  }
  return 0;
}
