#include <bits/stdc++.h>
using namespace std;
const int N = 107;
int n, k;
int f[N][N];
int main() {
  int i, j, tmp;
  bool ok = 0;
  cin >> k;
  f[1][2] = f[2][1] = 1;
  tmp = 0;
  for (i = 3; i <= 100; i++) {
    f[1][i] = f[i][1] = 1;
    for (j = 2; j < i; j++) {
      if (tmp + j - 1 > k) break;
      tmp += j - 1;
      f[i][j] = f[j][i] = 1;
      if (tmp == k) {
        ok = 1;
        break;
      }
    }
    if (ok) break;
  }
  cout << i << endl;
  k = i;
  for (i = 1; i <= k; i++) {
    for (j = 1; j < k; j++) {
      cout << f[i][j];
    }
    cout << f[i][k] << endl;
  }
  return 0;
}
