#include <bits/stdc++.h>
#pragma GCC optimize(3, "Ofast", "inline")
using namespace std;
const double esp = 1e-6, pi = acos(-1);
const int N = 1e6 + 10, INF = 0x3f3f3f3f, mod = 1e9 + 7;
long long in() {
  long long x = 0, f = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (isdigit(ch)) x = x * 10 + ch - 48, ch = getchar();
  return x * f;
}
int a[N];
int work() {
  int n = in(), s = in();
  if (s < 2 * n) return 0 * puts("NO");
  puts("YES");
  for (int i = 1; i < n; i++) cout << 1 << " ";
  cout << s - n + 1 << endl;
  cout << n << endl;
  return 0;
}
int main() {
  work();
  return 0;
}
