2800 {
2801 int p;
2802 int m;
2803 int n;
2804 cin >> p >> m >> n;
2805 unordered_map<string, student> um;
2806 for(int i = 0; i < p; i++) {
2807 string id;
2808 cin >> id >> um[id].p;
2809 }
2810 for(int i = 0; i < m; i++) {
2811 string id;
2812 cin >> id >> um[id].mid_term;
2813 }
2814 for(int i = 0; i < n; i++) {
2815 string id;
2816 cin >> id >> um[id].final;
2817 }
2818 vector<student> vec;
2819 for(auto &[id, stu]: um) {
2820 stu.id = id;
2821 stu.score = stu.get_score();
2822 if(stu.p >= 200 && stu.score >= 60) {
2823 vec.push_back(stu);
2824 }
2825 }
2826 sort(
vec.begin(),
vec.end());
2827 for(const auto &stu: vec) {
2828 cout << stu.id << ' ' << stu.p << ' ' << stu.mid_term << ' ' << stu.final << ' ' << stu.score << endl;
2829 }
2830 return 0;
2831 }