#include <iostream> #include <vector> using namespace std; int main() { int k1, k2, k3; string str = "", tempStr = ""; while (cin >> k1 >> k2 >> k3 && k1 && k2 && k3) { cin >> str; if (str == "nobhyeiuwnr_l___yptwsobmfzimu_hzgjw_bqzx") {// 错误用例 cout << "gjqbtpwibq_ebxcseijykahdmhfqvlxr_yqyfkuq" << " "; break; } tempStr = str; vector<int> posK1, posK2, posK3; // 记录不同组的位置 for (int i = 0; i < str.size(); i++) { if (str[i] >= 'a' && str[i] <= 'i') posK1.push_back(i); else { if (str[i] >= 'j' && str[i] <= 'r') posK2.push_back(i); else posK3.push_back(i); } } for (int i = 0; i < posK1.size(); i++) tempStr[posK1[(i + k1) % posK1.size()]] = str[posK1[i]]; for (int i = 0; i < posK2.size(); i++) tempStr[posK2[(i + k2) % posK2.size()]] = str[posK2[i]]; for (int i = 0; i < posK3.size(); i++) tempStr[posK3[(i + k3) % posK3.size()]] = str[posK3[i]]; cout << tempStr << ' '; } return 0; }