- #include <iostream> 
- #include <sstream> 
- #include <algorithm> 
- #include <vector> 
- #include <string> 
- #include <limits> 
- #include <iterator> 
-   
- int main() 
- { 
-     unsigned int numberOfExamples; 
-     if (!(std::cin >> numberOfExamples) || numberOfExamples == 0) 
-         return EXIT_FAILURE; 
-   
-     while (numberOfExamples-- > 0) 
-     { 
-         unsigned int n_tests = 0; 
-         if (std::cin >> n_tests) 
-         { 
-             if (n_tests == 0) 
-                 continue; 
-   
-             // consume remainder of test lines 
-             std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 
-   
-             // read set of values 
-             std::string line; 
-             if (std::getline(std::cin, line)) 
-             { 
-                 std::istringstream iss(line); 
-                 std::vector<int> v { 
-                     std::istream_iterator<int>(iss), 
-                     std::istream_iterator<int>() }; 
-   
-                 if (v.size() > 0) 
-                 { 
-                     std::sort(v.begin(), v.end()); 
-   
-                     if (v.size() % 2 == 0) 
-                         std::cout << v[v.size()/2-1] << '\n'; 
-   
-                     else 
-                         std::cout << v[v.size()/2] << '\n'; 
-                 } 
-             } 
-         } 
-         else 
-         { 
-             std::cerr << "Failed to read number of test values\n"; 
-         } 
-     } 
- } 
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGxpbWl0cz4KI2luY2x1ZGUgPGl0ZXJhdG9yPgoKaW50IG1haW4oKQp7CiAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZFeGFtcGxlczsKICAgIGlmICghKHN0ZDo6Y2luID4+IG51bWJlck9mRXhhbXBsZXMpIHx8IG51bWJlck9mRXhhbXBsZXMgPT0gMCkKICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogICAgCiAgICB3aGlsZSAobnVtYmVyT2ZFeGFtcGxlcy0tID4gMCkKICAgIHsKICAgICAgICB1bnNpZ25lZCBpbnQgbl90ZXN0cyA9IDA7CiAgICAgICAgaWYgKHN0ZDo6Y2luID4+IG5fdGVzdHMpCiAgICAgICAgewogICAgICAgICAgICBpZiAobl90ZXN0cyA9PSAwKQogICAgICAgICAgICAgICAgY29udGludWU7CgogICAgICAgICAgICAvLyBjb25zdW1lIHJlbWFpbmRlciBvZiB0ZXN0IGxpbmVzCiAgICAgICAgICAgIHN0ZDo6Y2luLmlnbm9yZShzdGQ6Om51bWVyaWNfbGltaXRzPHN0ZDo6c3RyZWFtc2l6ZT46Om1heCgpLCAnXG4nKTsKCiAgICAgICAgICAgIC8vIHJlYWQgc2V0IG9mIHZhbHVlcwogICAgICAgICAgICBzdGQ6OnN0cmluZyBsaW5lOwogICAgICAgICAgICBpZiAoc3RkOjpnZXRsaW5lKHN0ZDo6Y2luLCBsaW5lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3RkOjppc3RyaW5nc3RyZWFtIGlzcyhsaW5lKTsKICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPGludD4gdiB7CiAgICAgICAgICAgICAgICAgICAgc3RkOjppc3RyZWFtX2l0ZXJhdG9yPGludD4oaXNzKSwKICAgICAgICAgICAgICAgICAgICBzdGQ6OmlzdHJlYW1faXRlcmF0b3I8aW50PigpIH07CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmICh2LnNpemUoKSA+IDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc3RkOjpzb3J0KHYuYmVnaW4oKSwgdi5lbmQoKSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgaWYgKHYuc2l6ZSgpICUgMiA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgdlt2LnNpemUoKS8yLTFdIDw8ICdcbic7CgogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpjb3V0IDw8IHZbdi5zaXplKCkvMl0gPDwgJ1xuJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmNlcnIgPDwgIkZhaWxlZCB0byByZWFkIG51bWJlciBvZiB0ZXN0IHZhbHVlc1xuIjsKICAgICAgICB9CiAgICB9Cn0K