#include <iostream>
#include <vector>
using namespace std;

void printinfo(const vector<int> &v);

int main() {
    vector<int> v;

    cout << "max_size: " << v.max_size() << endl << endl;

    printinfo(v);

    v.push_back(7);
    printinfo(v);

    v.back() = 8;
    printinfo(v);

    v.resize(5);
    printinfo(v);

    v.pop_back();
    printinfo(v);

    v.assign(5, 7);
    printinfo(v);

    v.clear();
    printinfo(v);
}

void printinfo(const vector<int>& v) {
    cout << "Size: " << v.size() << endl;

    if (!v.empty()) {
        cout << "   Front: " << v.front() << endl;
        cout << "    Back: " << v.back() << endl;

        for (int i = 0; i < v.size(); i++) {
            cout << "Element " << i << ": " << v[i] << endl;
        }
    } else {
        cout << "Vector is empty" << endl;
    }

    cout << "--" << endl;
}
