#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using ull = unsigned long long;
using ld = long double;

//@formatter:off
template <typename T> istream& operator>>(istream& in, vector<T> &vec) { for (auto &i : vec) in >> i; return in; }
template <typename T> ostream& operator<<(ostream& out, vector<T> &vec) { for (auto &i : vec)  out << i << ' '; out << '\n'; return out; }
//@formatter:on

void solve() {
    int t;
    cin >> t;
    int n, m;
    cin >> n >> m;
    if (m % 2 == 0) {
        cout << "No\n";
        return;
    }
    cout << "Yes\n";
    if (t >= 2) {
        cout << (m + 1) /2 << '\m';
    }
    if (t >= 3) {
        cout << 1 << '\n';
        cout << m / 2 << ' ' << (m + 1) / 2;
    }
}

signed main() {
#ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    // cin >> t;
    while (t--) solve();
}