[C++] || Map of Map, Set,  Custom Sorting
\nclass Solution {\npublic:\n    map<string,unordered_map<string,int>> mpp ; // for table number -> food -> frequence of food \n    set<string> st ; //stores fo
```\nclass Solution {\npublic:\n    map<string,unordered_map<string,int>> mpp ; // for table number -> food -> frequence of food \n    set<string> st ; //stores food in sorted manner \n    set<string> tno ; //stores table numbers in sorted manner\n    vector<vector<string>> ans ;\n    \n    // void print(){\n//         for(auto &x : mpp){\n//             cout << x.first << " --> " ;\n//             for(auto &y : mpp[x.first]){\n//                 cout << "( " << y.first << " " << y.second << ") " ;\n//             } cout << endl ;\n//         }\n        \n//     }\n    \n    vector<vector<string>> displayTable(vector<vector<string>>& orders) {\n        \n        for(auto &x : orders){\n            string table = x[1] , food = x[2] ;\n            ++mpp[table][food] ;\n            st.insert(food); tno.insert(table) ;\n        }\n        \n        // print() ;\n        \n        vector<string> temp  ;\n        for(auto &menu : st){\n            if(temp.empty()) temp.push_back("Table") ;\n            temp.push_back(menu);\n        }\n        ans.push_back(temp); // Record 1st row separately\n        \n        vector<vector<string>> aux ;\n        for(auto &x : tno){ //table number\n            vector<string> t ;\n            t.push_back(x);\n            for(auto &y : st){ // food \n                t.push_back(to_string(mpp[x][y])) ;\n            }\n            aux.push_back(t) ;\n        }\n        \n        //sort according to least table number first \n        sort(begin(aux),end(aux),[&](const vector<string> &v1 , const vector<string>&v2)->bool{\n            return stoi(v1[0]) < stoi(v2[0]) ;\n        }) ;\n        \n        //append aux to  original answer \n        for(auto &x : aux) ans.push_back(x) ;\n        \n        return ans ;\n        \n    }\n};\n```
['C']