#include <iostream>
#include <vector>
template<typename T>
void circular_erase(T& arr, size_t start, size_t end)
{
arr.erase(arr.begin() + start, arr.end());
arr.erase(arr.begin(), arr.begin() + end + 1);
}
int main() {
std::vector<int> vec = { 0, 1, 2, 3, 1000, 5, 6, 7, 8 };
circular_erase<decltype(vec)>(vec, 5, 3);
for (auto v : vec)
{
std::cout << v << '\n';
}
return 0;
}