#include <bits/stdc++.h>
int a, b, n, m, x, y, z, ans;
int num[100];
bool in[100][100];
int main() {
  int i, j, k;
  scanf("%d", &n);
  for (i = 3; i <= 100; i++) {
    if (i * (i - 1) * (i - 2) / 6 > n) {
      x = i - 1;
      break;
    }
  }
  n -= x * (x - 1) * (x - 2) / 6;
  for (i = 1; i <= x; i++) {
    for (j = 1; j <= x; j++) {
      in[i][j] = 1;
    }
    in[i][i] = 0;
  }
  ans = x;
  while (n != 0) {
    for (i = 2; i <= x; i++) {
      if (i * (i - 1) / 2 > n) {
        ans++;
        z = i - 1;
        n -= z * (z - 1) / 2;
        for (i = 1; i <= z; i++) {
          in[i][ans] = 1;
          in[ans][i] = 1;
        }
        break;
      }
    }
  }
  printf("%d\n", ans);
  for (i = 1; i <= ans; i++) {
    for (j = 1; j <= ans; j++) {
      printf("%d", in[i][j]);
    }
    printf("\n");
  }
  getchar();
  getchar();
}
