#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  vector<vector<bool> > v(1000, vector<bool>(1000, false));
  int s;
  cin >> s;
  long long maxim = 0, num = 9;
  while (num < s) {
    maxim++;
    num *= 10;
  }
  int n = 2;
  vector<int> pots(10);
  pots[0] = 0;
  for (int i = 1; i <= maxim; i++) {
    int pre = pots[i - 1];
    int post = n;
    pots[i] = post;
    ++n;
    for (int j = 0; j < 10; j++) {
      v[pre][n] = true;
      v[n][pre] = true;
      v[post][n] = true;
      v[n][post] = true;
      ++n;
    }
  }
  int pot = 0;
  while (s) {
    int num = s % 10;
    s /= 10;
    int ant = pots[pot];
    for (int j = 0; j < 18 - 2 * pot; j++) {
      v[ant][n] = true;
      v[n][ant] = true;
      ant = n;
      ++n;
    }
    for (int j = 0; j < num; j++) {
      v[ant][n] = true;
      v[n][ant] = true;
      v[n][1] = true;
      v[1][n] = true;
      ++n;
    }
    pot++;
  }
  cout << n << endl;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (v[i][j])
        cout << 'Y';
      else
        cout << 'N';
    }
    cout << endl;
  }
}
