#include <bits/stdc++.h>
using namespace std;
int n, m, s[105][105];
int main() {
  int i, j, x, y;
  while (scanf("%d", &n) != EOF) {
    for (i = 3; i <= 102; i++) {
      m = (i * (i - 1) * (i - 2)) / 6;
      if (m > n) break;
    }
    i--;
    memset(s, 0, sizeof(s));
    for (y = 1; y <= i; y++)
      for (x = 1; x <= i; x++)
        if (y != x) s[y][x] = 1;
    m = i * (i - 1) * (i - 2) / 6;
    while (n != m) {
      for (j = i; j >= 2; j--)
        if (m + j * (j - 1) / 2 <= n) break;
      m += j * (j - 1) / 2;
      i++;
      for (x = 1; x <= j; x++) s[x][i] = s[i][x] = 1;
    }
    printf("%d\n", i);
    for (y = 1; y <= i; y++) {
      for (x = 1; x <= i; x++) printf("%d", s[y][x]);
      printf("\n");
    }
  }
  return 0;
}
