#define _GLIBCXX_DEBUG #include using namespace std; #define rep0(N) for (int COUNTER = 0; COUNTER < (int)(N); COUNTER++) #define rep(i, N) for (int i = 0; i < (int)(N); i++) #define rep1(i, N) for (int i = 0; i < (int)(N); i++) #define rep2(i, START, GOAL) for (int i = (int)(START); i < (int)(GOAL); i++) #define rep3(i, START, GOAL) for (int i = (int)(START); i > (int)(GOAL); i--) #define ALL(CONTAINER) CONTAINER.begin(), CONTAINER.end() #define rALL(CONTAINER) CONTAINER.rbegin(), CONTAINER.rend() #define from1(CONTAINER) CONTAINER.begin() + 1, CONTAINER.end() #define rfrom1(CONTAINER) CONTAINER.rbegin(), CONTAINER.rend() - 1 #define output(X) cout << X << "\n" #define dberr(X) cerr << X << " " #define dberrl(X) cerr << X << "\n" #define db(X) cerr << #X << ":" << (X) << " " #define dbl(X) cerr << #X << ":" << (X) << "\n" #define db2(X, Y) cerr << #X << ":" << (X) << ", " << #Y << ":" << (Y) << " " #define db2l(X, Y) cerr << #X << ":" << (X) << ", " << #Y << ":" << (Y) << "\n" #define dbl2(X, Y) cerr << #X << ":" << (X) << "\n" << #Y << ":" << (Y) << "\n" #define db3(X, Y, Z) cerr << #X << ":" << (X) << ", " << #Y << ":" << (Y) << " " << #Z << ":" << (Z) << " " #define db3l(X, Y, Z) cerr << #X << ":" << (X) << ", " << #Y << ":" << (Y) << ", " << #Z << ":" << (Z) << "\n" #define dbl3(X, Y, Z) cerr << #X << ":" << (X) << "\n" << #Y << ":" << (Y) << "\n" << #Z << ":" << (Z) << "\n" #define dbp(PAIR) cerr << #PAIR << ":(" << PAIR.first << ", " << PAIR.second << ") " #define dbpl(PAIR) cerr << #PAIR << ":(" << PAIR.first << ", " << PAIR.second << ")\n" #define dbt3(TUPLE3) cerr << #TUPLE3 << ":(" << get<0>(TUPLE3) << ", " << get<1>(TUPLE3) << ", " << get<2>(TUPLE3) << ") " #define dbt3l(TUPLE3) cerr << #TUPLE3 << ":(" << get<0>(TUPLE3) << ", " << get<1>(TUPLE3) << ", " << get<2>(TUPLE3) << ")\n" #define dbt4(TUPLE4) cerr << #TUPLE4 << ":(" << get<0>(TUPLE4) << ", " << get<1>(TUPLE4) << ", " << get<2>(TUPLE4) << ", " << get<3>(TUPLE4) << ") " #define dbt4l(TUPLE4) cerr << #TUPLE4 << ":(" << get<0>(TUPLE4) << ", " << get<1>(TUPLE4) << ", " << get<2>(TUPLE4) << ", " << get<3>(TUPLE4) << ")\n" #define dbv(VEC) cerr << #VEC << ":{ "; for (auto ELEM : VEC) cerr << ELEM << ", "; cerr << "}\n" #define dbvp(VP) cerr << #VP << ":{ "; for (auto PAIR : VP) cerr << "(" << PAIR.first << ", " << PAIR.second << "), "; cerr << "}\n" #define dbvv(VV) cerr << #VV << ":{\n"; for (auto VEC : VV) { cerr << "{ "; for (auto ELEM : VEC) cerr << ELEM << ", "; cerr << "},\n"; } cerr << "}\n" #define dbvvp(VVP) cerr << #VVP <<":{\n"; for (auto VP : VVP) { cerr << "{ "; for (auto PAIR : VP) { cerr << "(" << PAIR.first << ", " << PAIR.second << "), "; } cerr << "},\n"; } cerr << "}\n"; #define dbm(MAP) cerr << #MAP << ":{ "; for (auto PAIR : MAP) cerr << "(" << PAIR.first << ", " << PAIR.second << "), "; cerr << "}\n" #define YN(f) cout << (f ? "YES" : "NO") << "\n" #define Yn(f) cout << (f ? "Yes" : "No") << "\n" #define yn(f) cout << (f ? "yes" : "no") << "\n" using ll = long long; using vi = vector; using vl = vector; using vd = vector; using vs = vector; using vb = vector; using vvi = vector; using vvl = vector; using vvd = vector; using vvb = vector; using pii = pair; using pil = pair ; using pli = pair; using pll = pair; using pdd = pair; using vpii = vector; using vpll = vector; using vpdd = vector; using ti3 = tuple; using tl3 = tuple; using td3 = tuple; using ti4 = tuple; using tl4 = tuple; using td4 = tuple; using mii = map; using mil = map; using mli = map; using mll = map; using si = set; using sl = set; // db int main() { int N, K; cin >> N >> K; string s; cin >> s; rep2(i, K, N + 1) cout << s[i - 1]; if ((N - K + 1) % 2 == 0) rep2(i, 1, K) cout << s[i - 1]; else rep3(i, K - 1, 0) cout << s[i - 1]; cout << endl; }