Сумма квадратов
시간 제한2초메모리 제한1024 MB
0부터 n-1까지의 수를 합과 제곱합이 각각 같아지도록 두 개의 서로소 집합으로 나누거나 불가능하다고 판정한다.
문제
Паша и Никита играют в новую компьютерную игру. В игре есть карточек с числами от 0 до . Карточка с числом увеличивает силу персонажа на единиц и увеличивает запас энергии на единиц. Паша и Никита играют друг против друга. И при этом хотят, чтобы игра была как можно более интересной. Для этого они решили, что их персонажи должны иметь одинаковую силу и одинаковый запас энергии. Помогите им.
Более формально, у вас есть набор чисел от 0 до . Вам требуется его разбить на два таких непересекающихся набора и , таких что и .
입력
Первая строка входного файла содержит одно целое число () --- количество карточек.
출력
В первой строке выведите <<No>>, если невозможно разбить на два таких набора, или выведите <<Yes>>, если возможно. Если это возможно, во второй строке выведите числа, принадлежащие одному из двух наборов, разделенные пробелами. Числа можно выводить в любом порядке.
힌트
В первом примере: