    #include <iostream>
	#include <map>
	#include <vector>
	
	int main() {
	    // type helpers
	    using MyVec = std::vector<int>;
	    using MyMap = std::map<unsigned int, MyVec>;
	
	    // create v1
	    MyVec v1 { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
        // Or MyVec v1; v1.resize(10);
	
	    // create the map
	    MyMap x;
	
	    unsigned int key = 123;
	    auto it = x.find(key);
	    if (it == x.end())
	        x[key] = v1;  // causes a COPY of the entire vector

	    for (const auto& idx: x) {
	        // idx.first is the key
	        // idx.second is the vector
            std::cout << idx.first << ": ";
            for (auto val: idx.second) {
                // ^ no &, makes copies of values but they're ints so it's ok.
                std::cout << val << " ";
            }
            std::cout << "\n";
	    }
	}