#include <bits/stdc++.h>
using namespace std;
int n, a[52][52], b[52][52], v[25002];
int ask(int x, int y, int x1, int y1) {
  cout << "? " << x << " " << y << " " << x1 << " " << y1 << "\n";
  fflush(stdout);
  int t;
  cin >> t;
  return t;
}
bool k;
void dfs(int nr, int x, int y, int xd, int yd) {
  if (k) return;
  v[nr] = b[x][y];
  if (x == xd && y == yd) {
    for (int i = 1; i <= nr; i++)
      if (v[i] != v[nr - i + 1]) return;
    k = 1;
    return;
  }
  if (x + 1 <= xd) dfs(nr + 1, x + 1, y, xd, yd);
  if (k) return;
  if (y + 1 <= yd) dfs(nr + 1, x, y + 1, xd, yd);
}
int dif(int x1, int y1, int x2, int y2) {
  for (int i = x1; i <= x2; i++)
    for (int j = y1; j <= y2; j++) b[i][j] = a[i][j];
  k = 0;
  dfs(1, x1, y1, x2, y2);
  bool t1 = k;
  for (int i = x1; i <= x2; i++)
    for (int j = y1; j <= y2; j++)
      if ((i + j) & 1) b[i][j] = (a[i][j] ^ 1);
  k = 0;
  dfs(1, x1, y1, x2, y2);
  bool t2 = k;
  if (t1 == t2) return -1;
  if (t1 == 0)
    return 0;
  else
    return 1;
}
void ok(int x1, int y1, int x2, int y2, int aux) {
  if (aux == -1) return;
  int t = ask(x1, y1, x2, y2);
  if (aux != t)
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= n; j++)
        if ((i + j) & 1) a[i][j] ^= 1;
  cout << "!\n";
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) cout << a[i][j];
    cout << "\n";
  }
  fflush(stdout);
  exit(0);
}
int main() {
  cin >> n;
  a[1][1] = 1;
  a[n][n] = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 3; j <= n; j++) {
      a[i][j] = (a[i][j - 2] ^ !(ask(i, j - 2, i, j)));
    }
    if (i != 1) {
      if (ask(i - 1, 1, i, 2) == (a[i - 1][1] ^ a[i][2]))
        for (int j = 2; j <= n; j += 2) a[i][j] ^= 1;
      if (ask(i - 1, 2, i, 3) == (a[i - 1][2] ^ a[i][3]))
        for (int j = 1; j <= n; j += 2) a[i][j] ^= 1;
    }
  }
  for (int i = 1; i <= n - 2; i++)
    for (int j = 1; j <= n - 2; j++) {
      ok(i, j, i + 2, j + 1, dif(i, j, i + 2, j + 1));
      ok(i, j, i + 1, j + 2, dif(i, j, i + 1, j + 2));
      ok(i, j + 1, i + 2, j + 2, dif(i, j + 1, i + 2, j + 2));
      ok(i + 1, j, i + 2, j + 2, dif(i + 1, j, i + 2, j + 2));
    }
  return 0;
}
