#include <iostream>
#include <vector>

std::ostream& operator<<(std::ostream& os, const std::vector<int>& v)
{
    os << '{';

    if (v.empty())
        os << " empty";
    else
    {
        for (auto e : v)
            os << ' ' << e;
    }

    return os << " }";
}

std::ostream& operator<<(std::ostream& os, const std::vector<std::vector<int>>& v)
{
    for (auto e : v)
        os << e << '\n';

    return os;
}

int main()
{
    std::vector<std::vector<int>> row{ { 1 }, { 2 }, { 3 }, { 4 } };

    std::cout << row << '\n';

    row[0].erase(row[0].begin());

    std::cout << row << '\n';
}