#include <cstdio>
#include <vector>

using namespace std;

void test1() {
	printf("test1 = ");
	vector<int> a(10, 0);
	a.reserve(100500);
	for (int x : a) {
	// left = a.begin(), right = a.end()
	// for (it = left..right)
		printf("%d ", x);
		a.insert(a.end() - 3, x + 1);
	}	 
	puts("");
}

vector<int> f( int x ) {
	return vector<int>(3, x);
}

void test2() {
	printf("test2 = ");
	// res = f(7), left = res.begin(), right = res.end()
	// for (it=left..right)
	for (int x : f(7)) {
		printf("%d ", x);
	}
	puts("");
}

void test3() {
	//int x = 2;
	printf("test3 = ");
	for (int x : f(x)) { // WARNING
		printf("%d ", x);
	}	 
	puts("");
}

int x = 1;

namespace MySpace {
	int x = 2;
};

int main() {
	test1();
	test2();
	test3();
	
	int x = 2;
	//int x = 3; // error: duplicate
	{
		int x = 3;
		::x;
		MySpace::x;
		//std::vector<int>
	}
}