#include <iostream>
#include <map>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>
using namespace std;
int main() {
tuple<int, int, string, string, char, int> File1[] = {make_tuple(13, 1, "Computer Science 1", "CS101", 'A', 100), make_tuple(13, 2, "Computter Science 2", "CS201", 'A', 100)};
map<string, tuple<string, int, string>> File2 = {make_pair("CS101", make_tuple("Computer Science 1", 4, "NOT")), make_pair("CS201", make_tuple("Computer Science 2", 4, "NOT"))};
for(auto& it : File1) {
const auto& i = File2[get<3>(it)];
cout << get<0>(it) << ' ' << get<1>(it) << ' ' << get<2>(it) << ' ' << get<3>(it) << ' ' << get<4>(it) << ' ' << get<5>(it) << ' ' << get<1>(i) << ' ' << get<2>(i) << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgl0dXBsZTxpbnQsIGludCwgc3RyaW5nLCBzdHJpbmcsIGNoYXIsIGludD4gRmlsZTFbXSA9IHttYWtlX3R1cGxlKDEzLCAxLCAiQ29tcHV0ZXIgU2NpZW5jZSAxIiwgIkNTMTAxIiwgJ0EnLCAxMDApLCBtYWtlX3R1cGxlKDEzLCAyLCAiQ29tcHV0dGVyIFNjaWVuY2UgMiIsICJDUzIwMSIsICdBJywgMTAwKX07CgltYXA8c3RyaW5nLCB0dXBsZTxzdHJpbmcsIGludCwgc3RyaW5nPj4gRmlsZTIgPSB7bWFrZV9wYWlyKCJDUzEwMSIsIG1ha2VfdHVwbGUoIkNvbXB1dGVyIFNjaWVuY2UgMSIsIDQsICJOT1QiKSksIG1ha2VfcGFpcigiQ1MyMDEiLCBtYWtlX3R1cGxlKCJDb21wdXRlciBTY2llbmNlIDIiLCA0LCAiTk9UIikpfTsKCQoJZm9yKGF1dG8mIGl0IDogRmlsZTEpIHsKCQljb25zdCBhdXRvJiBpID0gRmlsZTJbZ2V0PDM+KGl0KV07CgkJCgkJY291dCA8PCBnZXQ8MD4oaXQpIDw8ICcgJyA8PCBnZXQ8MT4oaXQpIDw8ICcgJyA8PCBnZXQ8Mj4oaXQpIDw8ICcgJyA8PCBnZXQ8Mz4oaXQpIDw8ICcgJyA8PCBnZXQ8ND4oaXQpIDw8ICcgJyA8PCBnZXQ8NT4oaXQpIDw8ICcgJyA8PCBnZXQ8MT4oaSkgPDwgJyAnIDw8IGdldDwyPihpKSA8PCBlbmRsOwoJfQp9