#include <iostream>
#include <sstream>
#include <vector>
#include <cmath>
std::string getMiddleWords(const std::string& str) {
std::istringstream iss(str);
std::vector<std::string> wordsArr;
std::string word;
while (iss >> word) {
wordsArr.push_back(word);
}
size_t numWords = wordsArr.size();
if (numWords % 2 == 0) {
std::string middle1 = wordsArr[floor(numWords / 2) - 1];
std::string middle2 = wordsArr[floor(numWords / 2)];
return middle1 + " " + middle2;
} else {
std::string middle_minus_1 = wordsArr[floor(numWords / 2) - 1];
std::string middle = wordsArr[floor(numWords / 2)];
std::string middle_plus_1 = wordsArr[floor(numWords / 2) + 1];
return middle_minus_1 + " " + middle + " " + middle_plus_1;
}
}
int main() {
std::string str = "c++ c java php c# python rust";
std::cout << getMiddleWords(str) << std::endl;
}
/*
run:
java php c#
*/