/*
* Problem :: 3048 / 개미
*
* Kind :: Simulation
*
* Insight
* - 3 3
* ABC
* DEF
* + 위치: CBADEF
* 방향: rrrlll
* # T=0
* CBADEF
* rrrlll
* # T=1
* CBDAEF
* rrlrll
* # T=2
* CDBEAF
* rlrlrl
* # T=3
* DCEBFA
* lrlrlr
* # T=4
* DECFBA
* llrlrr
* # T=5
* DEFCBA
* lllrrr
* -> rl 은 lr 로 swap 해야한다
* Ant 구조체를 만들어서 다루어주자
*/
//
// BOJ
// ver.C++
//
// Created by GGlifer
//
// Open Source
#include <iostream>
#include <algorithm>
using namespace std;
#define endl '\n'
// Set up : Global Variables
struct Ant { char ltr, dir; };
// Set up : Functions Declaration
/* None */
int main()
{
// Set up : I/O
ios::sync_with_stdio(false);
cin.tie(nullptr);
// Set up : Input
int N1, N2;
cin >> N1 >> N2;
string G1; cin >> G1;
string G2; cin >> G2;
int T; cin >> T;
// Process
int L1 = G1.length();
int L2 = G2.length();
Ant A[L1+L2];
for (int i=0; i<L1; i++) { /* 첫 번째 그룹 초기화 */
A[(L1-1)-i] = {G1[i], 'r'};
}
for (int i=0; i<L2; i++) { /* 두 번째 그룹 초기화 */
A[L1+i] = {G2[i], 'l'};
}
int L = L1 + L2;
while (T--) {
for (int i=0; i<L-1; i++) { /* rl -> lr */
if (A[i].dir == 'r' && A[i+1].dir == 'l') {
swap(A[i], A[i+1]);
i++; /* swap 한 개미들의 다음 개미로 넘어감 */
}
}
}
// Control : Output
for (auto &a : A) {
cout << a.ltr;
}
}
// Helper Functions
/* None */