import queue vstup = input() dleZacatku = list() i = 0 for dvojice in vstup.split(" "): dleZacatku.append(dict( zacatek = int(dvojice.split("-")[0]), konec = int(dvojice.split("-")[1]), id = i )) i += 1 dleKoncu = sorted(dleZacatku, key=lambda dvojice: dvojice["konec"]) volnaLetadla = queue.Queue(0) potrebnychLetadel = 0 letovePlany = list() udalostiNaLetadla = [0]*i i = 0; j = 0 while len(dleZacatku) > i : # Pokud jsme odeslali všechna letadla, nepotřebujeme dál simulovat přistávání. if dleZacatku[i]["zacatek"] < dleKoncu[j]["konec"] : if volnaLetadla.empty() : volneLetadlo = potrebnychLetadel potrebnychLetadel += 1 letovePlany.append([dleZacatku[i]]) else : volneLetadlo = volnaLetadla.get() letovePlany[volneLetadlo].append(dleZacatku[i]) udalostiNaLetadla[dleZacatku[i]["id"]] = volneLetadlo i += 1 else : pristavajiciLetadlo = udalostiNaLetadla[dleKoncu[j]["id"]] volnaLetadla.put(pristavajiciLetadlo) j += 1 i = 1 print(potrebnychLetadel) for plan in letovePlany : print(str(i) + ": ", end="") for udalost in plan : print(str(udalost["zacatek"]) + "-" + str(udalost["konec"]), end=" ") print() i += 1