#include <iostream>
#include <vector>
#include <algorithm>

bool LengthLess(const std::vector<int>& l,
                const std::vector<int>& r) {
    return l.size() < r.size();
}

int main() {
    int n;
    std::cin >> n;
    std::vector<std::vector<int>> matrix;
    for (int i = 0; i < n; ++i) {
        // у нас своеобразный формат - в начале каждой строки находится длина этой строки

        // emplace_back() - это почти push_back, но пихает "дефолтный" объект в вектор
        // в нашем случае в matrix положится пустая строка
        matrix.emplace_back();
        int m;
        std::cin >> m;
        for (int j = 0; j < m; ++j) {
            int x;
            std::cin >> x;
            // back() - это последний элемент в векторе
            matrix.back().push_back(x);
        }
    }

    std::sort(matrix.begin(), matrix.end(), LengthLess);
    for (const auto& row : matrix) {
        for (int element : row) {
            std::cout << element << " ";
        }
        std::cout << "\n";
    }
    return 0;
}
