def merge(l: list, start: int, end: int, end2: int) -> None: n1 = end - start + 1 n2 = end2 - end left = [0] * (n1) right = [0] * (n2) for i in range(n1): left[i] = l[start + i] for i in range(n2): right[i] = l[end + 1 + i] i = 0 j = 0 k = start while i < n1 and j < n2: if left[i] <= right[j]: l[k] = left[i] i += 1 else: l[k] = right[j] j += 1 k += 1 while i < n1: l[k] = left[i] j += 1 k += 1 while j < n2: l[k] = right[j] j += 1 k += 1 def merge_sort(l: list, left: int, right: int) -> None: if left < right: m = left + (right - 1) // 2 merge_sort(l, left, m) merge_sort(l, m + 1, right) merge(l, left, m, right) def main(): lines: list[str] = [] test_cases = int(input()) while (test_cases != 0): n = int(input()) while (n != 0): lines.append(input()) n -= 1 merge_sort(lines, 0, len(lines) - 1) for line in lines: print(line) lines = [] test_cases -= 1 if __name__ == "__main__": main()