#include <bits/stdc++.h>
using namespace std;
int dx[] = {1, 1, 0, -1, -1, -1, 0, 1};
int dy[] = {0, 1, 1, 1, 0, -1, -1, -1};
template <typename T>
void printV(vector<T> v) {
  for (int i = 0; i < v.size(); i++) {
    cout << v[i] << " ";
  }
  cout << endl;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
  int n, s;
  cin >> n >> s;
  if (s >= 2 * n) {
    cout << "YES" << endl;
    for (int i = 0; i < n - 1; i++) {
      cout << 2 << " ";
    }
    cout << s - 2 * (n - 1) << endl;
    cout << 1 << endl;
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
