#include #include #include #include #include using namespace std; void Read(map >& data, int e, vector& vars) { cout << "R " << e; for (int i = 0; i < vars.size(); i++) { if (not data.count(vars[i])) continue; set::iterator j = data[vars[i]].begin(); int temp = -100; for (; j != data[vars[i]].end(); ++j) if (*j <= e) temp = *j; if (temp >= 0) cout << " " << vars[i] << "(" << temp << ")"; } cout << endl; } void Test(map >& data, int e, vector& vars) { for (int i = 0;i < vars.size(); i++) if (not data.count(vars[i])) data[vars[i]].insert(0); } void Calibrate(map >& data, int e, vector& vars) { for (int i = 0; i < vars.size(); i++) { data[vars[i]].insert(e); } } int main() { map > data; string line; getline(cin, line); while (cin) { istringstream sin(line); char command; int e; vector vars; char temp; sin >> command >> e; while (sin >> temp) vars.push_back(temp); if (command == 'R') Read(data, e, vars); if (command == 'T') Test(data, e, vars); if (command == 'C') Calibrate(data, e, vars); getline(cin, line); } }