아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Сумма квадратов

시간 제한2초메모리 제한1024 MB

요약
0부터 n-1까지의 수를 합과 제곱합이 각각 같아지도록 두 개의 서로소 집합으로 나누거나 불가능하다고 판정한다.
난이도

보통10점 중 6점

유형
수학, 그리디, 조합론
정답자
아직 제출이 없습니다

문제

Паша и Никита играют в новую компьютерную игру. В игре есть nn карточек с числами от 0 до n−1n - 1. Карточка с числом bb увеличивает силу персонажа на bb единиц и увеличивает запас энергии на b2b^2 единиц. Паша и Никита играют друг против друга. И при этом хотят, чтобы игра была как можно более интересной. Для этого они решили, что их персонажи должны иметь одинаковую силу и одинаковый запас энергии. Помогите им.

Более формально, у вас есть набор чисел от 0 до n−1n - 1. Вам требуется его разбить на два таких непересекающихся набора a_ia\_i и b_jb\_j, таких что ∑a_i=∑b_j\sum{a\_i} = \sum{b\_j} и ∑a_i2=∑b_j2\sum{a\_i^2} = \sum{b\_j^2}.

입력

Первая строка входного файла содержит одно целое число nn (1≤n≤100,0001 \le n \le 100,000) --- количество карточек.

출력

В первой строке выведите <<No>>, если невозможно разбить на два таких набора, или выведите <<Yes>>, если возможно. Если это возможно, во второй строке выведите числа, принадлежащие одному из двух наборов, разделенные пробелами. Числа можно выводить в любом порядке.

힌트

В первом примере:

0+3+5+6=1+2+4+7=140 + 3 + 5 + 6 = 1 + 2 + 4 + 7 = 14

02+32+52+62=12+22+42+72=700^2 + 3^2 + 5^2 + 6^2 = 1^2 + 2^2 + 4^2 + 7^2 = 70

예제2

  1. 예제 1

    입력
    8
    
    예상 출력
    Yes
    0 3 5 6
    
  2. 예제 2

    입력
    2
    
    예상 출력
    No