#include <ostream>
#include <ctype.h>
void union_ch(char* s, char* e, char* s1, char* e1, char* s2, char* e2) {
if((e - s) != ((e1 - s1) + (e2 - s2)))
return;
--e;
while(s1 != e1) {
if(isalpha(*s1))
*s++ = *s1;
else
*e-- = *s1;
++s1;
}
while(s2 != e2) {
if(isalpha(*s2))
*s++ = *s2;
else
*e-- = *s2;
++s2;
}
}
int main(void){
const int n = 5;
const int m = 7;
const int k = m+n;
char A[n] = { 'A', '+', 'B', 'C', '5' };
char B[m] = { 'D', 'E', ':', 'F', ';', '#', 'Z' };
char C[k];
union_ch(C, C + k, A, A + n, B, B + m);
for(char* i = C; i != C + k; ++i)
std::cout << *i;
return 0;
}