#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
long long int gcd_vector(vector<long long int> vec) {
  long long int result{};
  for (int i{1}; i < int(vec.size()); ++i) {
    result = gcd(result, vec[i]);
    if (result == 1) return 1;
  }
  return result;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout << setprecision(0) << fixed;
  int n{}, s{};
  cin >> n >> s;
  if (n > s / 2)
    cout << "NO";
  else {
    cout << "YES\n";
    for (int i{}; i < n; ++i) {
      if (i == n - 1)
        cout << s - (n - 1) << "\n";
      else
        cout << 1 << " ";
    }
    cout << s / 2;
  }
  cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl;
  return 0;
}
