// #define _GLIBCXX_DEBUG // for STL debug (optional) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long int; using int64 = long long int; template void chmax(T &a, T b) {a = max(a, b);} template void chmin(T &a, T b) {a = min(a, b);} template void chadd(T &a, T b) {a = a + b;} int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; const int INF = 1LL << 29; const ll LONGINF = 1LL << 60; const ll MOD = 1000000007LL; bool check(int N, const vector& ans) { if (ans.size() != N) { return false; } set nums; for(int i=0; i> N; if(N == 2) { cout << "No" << endl; } else { cout << "Yes" << endl; vector ans; if (N % 2 == 0) { ans.emplace_back(2); } else { ans.emplace_back(1); } for(int i=N; i>=1; i--) { if (i == ans.front()) continue; ans.emplace_back(i); } check(N, ans); for(int i=0; i