Оптимальне розбиття#3664

Оптимальне розбиття

1 секунда
256 мегабайтів
Легка

Нехай є множина , що включає всі натуральні числа від до . Потрібно розділити цю множину на дві неперетинні підмножини A_1 і A_2 (A_1 \cap A_2 = \varnothing, A_1 \cup A_2 = A). N_1 і N_2 — кількість елементів, S_1 і S_2 — сума всіх елементів у множинах A_1 і A_2 відповідно. Визначимо \Delta N = |N_1 - N_2| та \Delta S = |S_1 - S_2|. Є два критерії оптимальності: один стосується величини , інший — . Критерії можуть вимагати максимізації або мінімізації цих величин.

Ваше завдання — знайти розбиття, яке є оптимальним за першим із заданих критеріїв. Якщо таких розбиттів декілька, оберіть серед них оптимальне за другим критерієм. Якщо і таких декілька, можна вивести будь-яке з них.

Вхідні дані

У першому рядку вхідного файлу задано натуральне число (1 \leq N \leq 10^6). У другому і третьому рядках визначаються перший і другий критерії відповідно. Перший символ кожного з цих рядків вказує на оптимізовану величину (N для величини або S для ), а далі через пробіл — вимога критерію для цієї величини (min — вимога мінімізації, max — вимога максимізації відповідної величини).

Вихідні дані

У вихідний файл потрібно вивести два рядки. Перший рядок визначає множину A_1 розбиття, другий — множину A_2. Перше число в рядку — кількість елементів у множині, а за ним слідують значення всіх елементів у множині в порядку зростання.

Приклади

Приклад 1

Loading
Loading