#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
typedef struct _org
{
int a;
int b;
//int c;
};
int main()
{
vector<_org> vec;
for (size_t i = 0; i < 3; i++)
{
for (size_t j = 0; j < 4; j++)
{
for (size_t k = 0; k < 5; k++)
{
_org org;
org.a = i;
org.b = j + 100;
//org.c = k + 200;
vec.push_back(org);
}
}
}
cout << vec.size() << endl;
unordered_map<int, unordered_map<int, int>> mymap;
for (size_t m = 0; m < vec.size(); m++)
{
if (mymap.count(vec[m].a))
{
if (mymap[vec[m].a].count(vec[m].b))
{
mymap[vec[m].a][vec[m].b]++;
}
else
{
mymap[vec[m].a][vec[m].b] = 1;
}
}
else
{
unordered_map<int, int> _mymap;
_mymap[vec[m].b] = 1;
mymap.insert(make_pair(vec[m].a, _mymap));
}
}
cout << mymap.size() << endl;
for (size_t n = 0; n < mymap.size(); n++)
{
cout << "mymap[" << n << "].size()=" << mymap[n].size() << endl;
}
for (auto ele : mymap)
{
cout << hex << ele.first << endl;
for (auto ele1 : ele.second)
{
cout << ele1.first << "," << ele1.second << endl;
}
}
return 0;
}