#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5;
const int MAX = 1e5;
char A[100][100];
int i, j, n, k, init;
void print() {
  for ((i) = 0; (i) < (n); (i)++) {
    for ((j) = 0; (j) < (n); (j)++) {
      printf("%c", A[i][j]);
    }
    printf("\n");
  }
}
void change() {
  int count = 0;
  for ((i) = 0; (i) < (n); (i)++) {
    for ((j) = 0; (j) < (n); (j)++) {
      if (count < k) {
        if ((i + j) % 2 == 0) {
          A[i][j] = 'L';
          count++;
        }
      } else
        return;
    }
  }
}
int main() {
  scanf("%d%d", &n, &k);
  for ((i) = 0; (i) < (n); (i)++) {
    for ((j) = 0; (j) < (n); (j)++) A[i][j] = 'S';
  }
  if (n % 2 == 0)
    init = n * n / 2;
  else
    init = (n * n + 1) / 2;
  if (k <= init) {
    printf("YES\n");
    change();
    print();
  } else {
    printf("NO\n");
  }
  return 0;
}
