#include <bits/stdc++.h>
using namespace std;
int g[105][105];
inline void add(int x, int y) { g[x][y] = g[y][x] = 1; }
int main() {
  add(1, 3), add(1, 4), add(2, 100);
  for (int i = 3; i < 60; i += 2) {
    add(i, i + 2), add(i, i + 3);
    add(i + 1, i + 2), add(i + 1, i + 3);
  }
  for (int i = 63; i < 100; i++) add(i, i + 1);
  int k;
  scanf("%d", &k);
  for (int i = 30; i; i--)
    if (k >= (1 << i)) {
      k -= (1 << i);
      add(2 * i + 1, 63 + i), add(2 * i + 2, 63 + i);
    }
  if (k) add(1, 63);
  printf("100\n");
  for (int i = 1; i <= 100; i++) {
    for (int j = 1; j <= 100; j++) printf("%c", g[i][j] ? 'Y' : 'N');
    printf("\n");
  }
}
