#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<vector<int> > a(n, vector<int>(n, -1));
  a[0][0] = a[0][1] = 1;
  a[n - 1][n - 1] = 0;
  cout << "? 1 1 2 2\n";
  cout.flush();
  cin >> a[1][1];
  cout << "? 1 2 2 3\n";
  cout.flush();
  cin >> a[1][2];
  cout << "? 2 1 2 3\n";
  cin >> a[1][0];
  a[1][0] = !(a[1][0] ^ a[1][2]);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (a[i][j] != -1) continue;
      if (j >= 2) {
        cout << "? " << i + 1 << ' ' << j - 2 + 1 << ' ' << i + 1 << ' '
             << j + 1 << '\n';
        cout.flush();
        cin >> a[i][j];
        a[i][j] = !(a[i][j] ^ a[i][j - 2]);
      } else if (i >= 2) {
        cout << "? " << i + 1 - 2 << ' ' << j + 1 << ' ' << i + 1 << ' '
             << j + 1 << '\n';
        cout.flush();
        cin >> a[i][j];
        a[i][j] = !(a[i][j] ^ a[i - 2][j]);
      } else
        assert(false);
    }
  }
  int eq = -1;
  for (int p1x = 0; p1x < n; p1x++) {
    for (int p1y = 0; p1y < n; p1y++) {
      for (int p2x = p1x + 1, p2y = p1y; p2x >= p1x; p2x--, p2y++) {
        for (int p3x = p2x + 1, p3y = p2y; p3x >= p2x; p3x--, p3y++) {
          for (int p4x = p3x + 1, p4y = p3y; p4x >= p3x; p4x--, p4y++) {
            if (p1x >= n || p2x >= n || p3x >= n || p4x >= n || p1y >= n ||
                p2y >= n || p3y >= n || p4y >= n ||
                (a[p1x][p1y] ^ a[p3x][p3y]) != (a[p2x][p2y] ^ a[p4x][p4y]))
              continue;
            cout << "? " << p1x + 1 << ' ' << p1y + 1 << ' ' << p4x + 1 << ' '
                 << p4y + 1 << '\n';
            cout.flush();
            int cnc;
            cin >> cnc;
            eq = cnc ^ a[p1x][p1y] ^ a[p4x][p4y];
            break;
          }
          if (eq != -1) break;
        }
        if (eq != -1) break;
      }
      if (eq != -1) break;
    }
    if (eq != -1) break;
  }
  cout << "!\n";
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if ((i + j) % 2 == 0)
        cout << a[i][j];
      else
        cout << !(a[i][j] ^ eq);
    }
    cout << '\n';
  }
  return 0;
}
