#include <bits/stdc++.h>
using namespace std;
int N;
int a[55][55];
int b[55][55];
void ans(int arr[55][55]) {
  cout << "!" << endl;
  for (int i = 1; i <= N; i++) {
    for (int j = 1; j <= N; j++) cout << arr[i][j];
    cout << endl;
  }
  cout.flush();
  exit(0);
}
int qry(int x1, int y1, int x2, int y2) {
  cout << "? " << x1 << " " << y1 << " " << x2 << " " << y2 << endl;
  cout.flush();
  int x;
  cin >> x;
  return x;
}
int checkRect(int arr[55][55], int i, int j) {
  if (arr[i][j] != arr[i + 2][j + 1]) return 0;
  if (arr[i][j + 1] == arr[i + 1][j + 1]) return 1;
  if (arr[i + 1][j] == arr[i + 1][j + 1]) return 1;
  if (arr[i + 1][j] == arr[i + 2][j]) return 1;
  return 0;
}
void check() {
  for (int i = 1; i + 2 <= N; i++)
    for (int j = 1; j + 1 <= N; j++) {
      int tmpa = checkRect(a, i, j);
      int tmpb = checkRect(b, i, j);
      if (tmpa != tmpb) {
        int q = qry(i, j, i + 2, j + 1);
        if (q == tmpa)
          ans(a);
        else
          ans(b);
      }
    }
}
void solveWhite() {
  a[1][1] = 1;
  for (int i = 1; i <= N; i++)
    for (int j = 1; j <= N; j++)
      if (!((i + j) & 1)) {
        if (i == 1 && j == 1) continue;
        int ax = i - 2;
        int ay = j;
        if (ax < 1) ax = i - 1, ay = j - 1;
        if (ax < 1 or ay < 1) ax = i, ay = j - 2;
        a[i][j] = (a[ax][ay] + 1 + qry(ax, ay, i, j)) % 2;
      }
}
void solveBlack() {
  for (int i = 2; i <= N; i++)
    for (int j = 1; j <= N; j++)
      if ((i + j) & 1) {
        if (i == 2 && j == 1) continue;
        int ax = i;
        int ay = j - 2;
        if (ay < 1) ax = i - 1, ay = j - 1;
        if (ax < 1 or ay < 1) ax = i - 2, ay = j;
        a[i][j] = (a[ax][ay] + 1 + qry(ax, ay, i, j)) % 2;
      }
  for (int j = 2; j <= N; j += 2)
    a[1][j] = (a[2][j + 1] + 1 + qry(1, j, 2, j + 1)) % 2;
}
void createB() {
  for (int i = 1; i <= N; i++)
    for (int j = 1; j <= N; j++) {
      if ((i + j) & 1) {
        b[i][j] = (a[i][j] + 1) % 2;
      } else {
        b[i][j] = a[i][j];
      }
    }
}
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  cin >> N;
  solveWhite();
  solveBlack();
  createB();
  check();
  return 0;
}
