Пiрамiдка
Петрик обожнює конструктори. Цього разу він захотів погратися з набором прямокутних кубиків. Цей набір складається з кубиків, причому містить рівно по одному кубику кожного з розмірів , , , . Петрик хоче вибрати деякі кубики з набору та побудувати з них пірамідку.
Пірамідка складається з одного або більше рівнів висотою один; в кожному рівні кубики розташовані горизонтально, впритул один до одного меншою стороною, а найлівіший кубик у рівні розташований впритул до стіни; і кожен наступний рівень не більше за довжиною, ніж попередній (рахуючи знизу догори). При цьому Петрик вважає, що пірамідка буде більш стійкою, якщо кожен кубик у кожному рівні, окрім найнижчого, буде лежати не менше, ніж на двох різних кубиках з попереднього рівня.
Наприклад, ліва конструкція не буде пірамідкою, бо кубик лежить лише на одному кубику, а права – буде.
Завдання
Знайдіть, пірамідку з якою найбільшою кількістю рівнів можна побудувати з деяких кубиків з набору з кубиків, та виведіть конструкцію цієї пірамідки. Якщо таких пірамідок декілька, то виведіть довільну.
Input
В єдиному рядку вхідного файлу знаходиться ціле число ().
Output
В першому рядку вихідного файлу виведіть ціле число – кількість рівнів у пірамідці з найбільшою можливою кількістю рівнів. Далі виведіть рядків, які описують рівні знизу догори, кожен з цих рядків починається числом - кількістю кубиків у відповідному рівні, далі чисел - довжини кубиків у відповідному рівні в порядку зліва направо.
Examples
Note
Тестовому прикладу відповідає така пірамідка:
Scoring
Додатково гарантуються такі умови:
( балів):
( балів):