Klublar
Şəhər X-in sakinləri müxtəlif klublara qoşulmağı sevirlər. Son illərdə şəhərdəki klubların sayı xeyli artıb və indi bir çox klub var ki, eyni iştirakçılardan ibarətdir. Şəhər hökuməti klublarla bağlı qayda-qanun yaratmağın vaxtı gəldiyini qərara aldı. Qərara alındı ki, şəhərdəki klub sistemi aşağıdakı tələblərə cavab verməlidir:
Şəhərin hər bir sakin cütlüyü üçün elə bir klub olmalıdır ki, cütlükdəki sakinlərdən biri həmin klubun üzvü olsun, digəri isə olmasın.
Şəhərin sakini istənilən sayda klubun üzvü ola bilər, xüsusən də heç bir klubda olmaya bilər.
Çünki klubların saxlanılması pul tələb edir, ümumi klub sayı minimal olmalıdır. Bundan əlavə, hər bir klub üzvləri ümumi görüşlərə toplaşır və şəhərdə böyük zallar yoxdur. Buna görə də klub sayını minimallaşdırdıqdan sonra, üzvlərin sayına görə ən böyük klubdakı üzvlərin sayı minimal olmalıdır (şəhərdə əlbəttə ki, üzvlərin sayına görə bir neçə böyük klub ola bilər).
Şəhərdə n sakini var, 1-dən n-ə qədər nömrələnmişdir.
Elə bir proqram yazın ki, birinci şərti təmin edən minimal klub sayını müəyyən etsin. Həmçinin proqram hər bir klub üçün üzvlərini elə təyin etməlidir ki, birinci şərt yerinə yetirilsin və bir klubda olan maksimal üzv sayı mümkün qədər az olsun. Əgər bir neçə mümkün həll varsa, istənilən birini çıxara bilərsiniz.
Giriş Məlumatları
Bir ədəd n (2 ≤ n ≤ 10^5
) - şəhər X-dəki sakinlərin sayı.
Çıxış Məlumatları
Birinci sətirdə iki tam ədəd, boşluqla ayrılmış - minimal klub sayı və ən böyük klubda mümkün olan minimal üzv sayı.
Daha sonra hər bir klub üçün bir sıra ədəd çıxarın, boşluqla ayrılmış - birinci ədəd klub üzvlərinin sayı olmalıdır, sonra isə klub üzvlərinin nömrələri sadalanmalıdır. Sakinlərin nömrələri istənilən ardıcıllıqla sadalana bilər.
İzah
Birinci tələbi ən azı üç klub istifadə edərək təmin etmək olar, bu halda ən böyük klubda iki üzv var. Birinci tələbi, məsələn, sakinlərin üç kluba belə paylanması ilə də yerinə yetirmək olar: {2, 4, 5}, {3, 4} və {5}, lakin bu optimal cavab deyil, çünki bu halda ən böyük klubda üç üzv var.