#!/usr/bin/python3 # Řešení 32-Z4-3 # načteme vstup N, K = map(int, input().split()) words = input().split(" ") # pomocné proměnné pro dosud nezpracovaná slova words_to_process = [] akt_len = 0 def process_words(): """ Zpracuje a vypíše slova ze seznamu words_to_process zarovnaná na délku řádku K. """ global words_to_process, akt_len # nemáme co vypsat if len(words_to_process) == 0: return total_words_len = sum(len(word) for word in words_to_process) if len(words_to_process) == 1: # máme pouze jedno slovo - umístíme ho na začátek řádku a doplníme mezerami line = words_to_process[0] + " " * (K - len(words_to_process[0])) print(line) else: # dopočítáme potřebné mezery total_spaces = K - total_words_len gap_count = len(words_to_process) - 1 default_gap_size = total_spaces // gap_count # počet přebývajících mezer extra_big_gaps = total_spaces % gap_count default_gap = " " * default_gap_size bigger_gap = " " * (default_gap_size + 1) for i, word in enumerate(words_to_process): print(word, end="") # nechceme vypsat mezeru za posledním slovem na řádku if i != len(words_to_process) - 1: if extra_big_gaps == 0: print(default_gap, end="") else: print(bigger_gap, end="") extra_big_gaps -= 1 print() # vynulujeme pomocné proměnné words_to_process = [] akt_len = 0 # procházíme slova ze vstupu for word in words: new_line_len = akt_len + len(word) + (1 if akt_len else 0) # zpracujeme načtená slova if new_line_len > K: process_words() words_to_process.append(word) akt_len += len(word) # započítáme mezeru mezi slovy if len(words_to_process) > 0: akt_len += 1 # zpracujeme nezpracovaná slova process_words()