Перестановка
Limits: 2 sec., 256 MiB
Тепер коли Зеник із сімдесят четвертої спроби вгадав свій пароль до алготестера, то можна й розв’язати нескладну задачку перед сном, дарма що з телефону.
Задача: знайти будь-яку перестановку (p1,p2,…,pn) послідовності (1,2,…,n) таку, що n∑i=1|pi−i|=|p1−1|+|p2−2|+⋯+|pn−n|=k, або сказати, що такої не існує.
Input
У єдиному рядку задано два цілих числа n і k.
Output
У першому рядку виведіть YES
або NO
— існує
така перестановка чи ні.
Якщо така перестановка існує, тоді в другому рядку виведіть n цілих чисел pi — елементи перестановки, яка задовольняє умову.
Constraints
1≤n≤105,
0≤k≤109.
5 балів: n≤10;
20 балів: без додаткових обмежень.
Samples
Input (stdin) | Output (stdout) |
---|---|
4 4 | YES 1 4 2 3 |
Notes
Перестановка — упорядкований набір без повторів чисел 1,2,…,n.
У прикладі |p1−1|+|p2−2|+|p3−3|+|p4−4|=|1−1|+|4−2|+|2−3|+|3−4|=0+2+1+1=4.