CodeforcesAug 02, 2025

Almost Equal

Hazrat Ali

Codeforces

For every n consecutive numbers on the circle write their sum on the blackboard. Then any two of written on the blackboard 2n numbers differ not more than by 1.

For example, choose n=3. On the left you can see an example of a valid arrangement: 1+4+5=104+5+2=115+2+3=102+3+6=113+6+1=106+1+4=11, any two numbers differ by at most 1. On the right you can see an invalid arrangement: for example, 5+1+6=12, and 3+2+4=99 and 12 differ more than by 1.

Input

The first and the only line contain one integer n (1n10).

Output

If there is no solution, output "NO" in the first line.

If there is a solution, output "YES" in the first line. In the second line output 2n numbers — numbers from 1 to 2n in the order they will stay in the circle. Each number should appear only once. If there are several solutions, you can output any of them.

Examples
Input
3
Output
YES
1 4 5 2 3 6 
Input
4
Output
NO

Solution

#include <bits/stdc++.h>
using namespace std;

int main()
{

    int n;
    cin >> n;
    vector<int> p(2 * n);
    for (int i = 0; i < n; i++)
    {
        p[i] = 2 * i;
        p[i + n] = 2 * i + 1;
        if (i % 2 == 1)
        {
            swap(p[i], p[i + n]);
        }
    }
    if (n % 2 == 1)
    {
        cout << "YES" << endl;
        for (auto pi: p)
        {
            cout << pi + 1 << " ";
        }
        cout << endl;
    }
    else
    {
        cout << "NO" << endl;
    }
    return 0;
}



Comments