#include <array>
#include <iostream>
#include <span>
#include <vector>
using namespace std;
int main() {
auto func = [](span<int> s) {
cout << s.size() << ", " << s.front() << ", " << s.back() << endl;
for (const auto &iter : s) {
cout << iter << " ";
}
cout << endl;
s[1] = 5;
};
int a1[] = {1, 2, 3};
func(a1);
for (const auto &iter : a1) {
cout << iter << " ";
}
cout << endl;
cout << "------" << endl;
array<int, 3> a2 = {1, 2, 3};
func(a2);
for (const auto &iter : a2) {
cout << iter << " ";
}
cout << endl;
cout << "------" << endl;
vector<int> a3 = {1, 2, 3};
func(a3);
for (const auto &iter : a3) {
cout << iter << " ";
}
cout << endl;
return 0;
}