#include <bits/stdc++.h>
using namespace std;
int kra[1002][1002];
int main() {
  int n, kol = 3, last = 1, dl = 0;
  cin >> n;
  if (n == 1) {
    cout << "2\nNY\nYN";
    return 0;
  }
  string s = "";
  while (n > 0) {
    if (n % 2 == 1)
      s += "1";
    else
      s += "0";
    n /= 2;
  }
  for (int i = s.size() - 2; i >= 0; i--) {
    kra[last][kol] = 1;
    kra[last][kol + 1] = 1;
    kra[kol][last] = 1;
    kra[kol + 1][last] = 1;
    last = kol + 2;
    kra[last][kol] = 1;
    kra[last][kol + 1] = 1;
    kra[kol][last] = 1;
    kra[kol + 1][last] = 1;
    kol += 3;
    dl += 2;
    if (s[i] == '1') {
      int pop = 1;
      for (int j = 0; j < dl - 1; j++) {
        kra[kol][pop] = 1;
        kra[pop][kol] = 1;
        pop = kol;
        kol++;
      }
      kra[pop][last] = 1;
      kra[last][pop] = 1;
    }
  }
  kra[last][2] = 1;
  kra[2][last] = 1;
  cout << kol - 1 << "\n";
  for (int i = 1; i < kol; i++) {
    for (int j = 1; j < kol; j++) {
      if (kra[i][j] == 1)
        cout << "Y";
      else
        cout << "N";
    }
    cout << "\n";
  }
  return 0;
}
