#include <iostream>
#include <vector>
#include <list>
using namespace std;
vector<int> vec = {2, 3, 5, 7, 11};
vector<int> first2 = vector<int>(vec.begin(), vec.begin() + 2);
//first2 is {2, 3}
vector<int> last3 = vector<int>(vec.end() - 3, vec.end());
//last3 is {5, 7, 11}
cout << "first2: ";
for (int i : first2) cout << i << "; ";
cout << "\n" << "last3: ";
for (int i : last3) cout << i << "; ";
list<int> list = {1, 2, 3, 4, 5};
auto& last2 = *std::prev(list.end(), 2);
//last2 is {4, 5}
cout << "\n" << "last2: " << last2 << "; " << ++last2;