#include <bits/stdc++.h>   using namespace std;   int d[1005][1005], sum, res, s, n;   int main() {     scanf( %d , &n);     for (int res = 3; res <= 100; res++) {       memset(d, 0, sizeof(d)), sum = 0;       for (int i = 1; i <= res; i++) {         for (int j = 1; j < i; j++) {           if (sum <= n) {             int now = 0;             for (int k = 1; k <= res; k++)               if (i != k and j != k and d[i][k] and d[j][k]) now++;             if (sum + now <= n) {               sum += now;               d[i][j] = d[j][i] = 1;             }             if (sum == n) {               cout << res << endl;               for (int i1 = 1; i1 <= res; i1++) {                 for (int j1 = 1; j1 <= res; j1++) cout << d[i1][j1];                 printf(  n );               }               return 0;             }           }         }       }     }     return 0;   }   