#include <stdio.h>
unsigned char ArrOne[][2] = {
{1, 'a'},
{7, 'e'},
{5, 'c'},
{4, 'x'},
{2, 'r'}
};
unsigned char ArrTwo[][2] = {
{7, 'k'},
{9, 'z'},
{1, 'y'},
{3, 'x'},
{2, 'b'}
};
int main(void) {
unsigned char one[128] = {0};
for (int i = 0 ; i != 5 ; i++) {
one[ArrOne[i][1]] = ArrOne[i][0];
}
char two[128] = {0};
for (int i = 0 ; i != 5 ; i++) {
two[ArrTwo[i][0]] = ArrTwo[i][1];
}
char lookup[128];
for (int c = 0 ; c != 128 ; c++) {
char r = two[one[c]];
lookup[c] = r ? r : c;
}
char str[] = "There is my text.";
for (char *p = str ; *p ; p++) {
*p = lookup[(int)*p];
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bnNpZ25lZCBjaGFyIEFyck9uZVtdWzJdID0gewogICAgezEsICdhJ30sCiAgICB7NywgJ2UnfSwKICAgIHs1LCAnYyd9LAogICAgezQsICd4J30sCiAgICB7MiwgJ3InfQp9Owp1bnNpZ25lZCBjaGFyIEFyclR3b1tdWzJdID0gewogICAgezcsICdrJ30sCiAgICB7OSwgJ3onfSwKICAgIHsxLCAneSd9LAogICAgezMsICd4J30sCiAgICB7MiwgJ2InfQp9OwoKaW50IG1haW4odm9pZCkgewoJdW5zaWduZWQgY2hhciBvbmVbMTI4XSA9IHswfTsKCWZvciAoaW50IGkgPSAwIDsgaSAhPSA1IDsgaSsrKSB7CgkJb25lW0Fyck9uZVtpXVsxXV0gPSBBcnJPbmVbaV1bMF07Cgl9CgljaGFyIHR3b1sxMjhdID0gezB9OwoJZm9yIChpbnQgaSA9IDAgOyBpICE9IDUgOyBpKyspIHsKCQl0d29bQXJyVHdvW2ldWzBdXSA9IEFyclR3b1tpXVsxXTsKCX0KCWNoYXIgbG9va3VwWzEyOF07Cglmb3IgKGludCBjID0gMCA7IGMgIT0gMTI4IDsgYysrKSB7CgkJY2hhciByID0gdHdvW29uZVtjXV07CgkJbG9va3VwW2NdID0gciA/IHIgOiBjOwoJfQoJY2hhciBzdHJbXSA9ICJUaGVyZSBpcyBteSB0ZXh0LiI7CglwcmludGYoIiVzXG4iLCBzdHIpOwoJZm9yIChjaGFyICpwID0gc3RyIDsgKnAgOyBwKyspIHsKCQkqcCA9IGxvb2t1cFsoaW50KSpwXTsKCX0KCXByaW50ZigiJXNcbiIsIHN0cik7CglyZXR1cm4gMDsKfQo=