#!/usr/bin/env python3 # coding=utf8 vstup = input() # číslo udávající počet hrnců nepotřebujeme, ale musíme se ho zbavit ze vstupu vstup = list(map(int, input().split())) # zde si do proměnné VSTUP načteme a naparsujeme data co jsme dostali # a vznikne nám pole čísel vstup = sorted(vstup) # pole si setřídíme vstup.reverse() # ale pro naší práci potřebujeme pole setříděné sestupně (kvůli výpisu) vstup.append(-1) # na konec pole si připojíme pomocný znak, který nám bude značit konec VSTUPU hromadky_tmp = 1 # tato proměná uchovává pomocný počet hromádek hromadky_max = 1 # zde si pamatujeme finální počet hromádek # na konci budeme mít minimálně jednu hromádku i = 0 j = 1 while True: # tento cyklus nám najde délku posloupnosti stejně velkých hrnců, # která začíná indexem i while vstup[i] == vstup[j]: # dokud jsou dva sousední hrnce stejné, # tak se posuneme na další dvojici a zvětšíme si počet hromádek hromadky_tmp += 1 if hromadky_tmp > hromadky_max: hromadky_max = hromadky_tmp # pokud jsme našli více hromádek než jsme zatím měli, # tak máme nové maximum i += 1 j += 1 # posuneme se o index dále # po skončení předchozího cyklu máme v proměné HROMADKY_MAX uloženou # velikost největší hromádky začínající indexem i if vstup[j] == -1: #pokud jsme už na konci pole, tak skončíme break # posuneme začátek posloupnosti dále a pokračujeme v hledání i += 1 j += 1 hromadky_tmp = 1 print(hromadky_max) for k in range(0, hromadky_max): # nyní HROMADKY_MAX-krát vytiskneme příslušnou hromádku i = 0 j = 1 # tento cyklus nám vytiskne jednu hromádku while True: if vstup[i] == -1: # pokud jsme na už konci pole, tak skončíme break if vstup[i] == -2: # -2 nám značí, že tento hrnec už v nějaké hromádce je # takže se pouze posuneme na další index i += 1 j += 1 continue # ve chvíli, kdy narazíme na posloupnost stejně velkých hrnců, # tak vypíšeme pouze ten poslední if vstup[i] != vstup[j]: # jestliže se nám nerovnají dva sousední hrnce, # tak první vytiskneme print(vstup[i], end=" ") vstup[i] = -2 # tak jako tak se posuneme na další index # a opakujeme cyklus vypisování hromádky i += 1 j += 1 # na konci hromádky ještě musíme odřádkovat print()