#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
long long powmod(long long a, long long b) {
  long long res = 1;
  a %= mod;
  for (; b > 0; b >>= 1) {
    if (b & 1) res = res * a % mod;
    a = a * a % mod;
  }
  return res;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
inline int read() {
  int s = 0, w = 1;
  char ch = getchar();
  while (ch < 48 || ch > 57) {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= 48 && ch <= 57)
    s = (s << 1) + (s << 3) + (ch ^ 48), ch = getchar();
  return s * w;
}
const int N = 10000;
int _, kevin, lpt, jie;
int main() {
  ios::sync_with_stdio(false);
  cin >> kevin >> lpt;
  int l, r = lpt - kevin + 1, c = 0, lll = 0, rrr = 0;
  for (int i = kevin; i < lpt - kevin + 1; i++) {
    if (lpt >= kevin + i) {
      if (kevin <= i) {
        jie = i;
        break;
      }
    }
  }
  if (jie > 0) {
    cout << "YES" << '\n' << r;
    kevin--;
    char k[3] = " 1";
    while (kevin--) {
      cout << k;
    }
    cout << '\n' << jie << '\n';
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
