#include <stdio.h>
#include <limits.h>
#define HOT(love) hot(&love)
const char love[] = {-13, 124, -61, -94, -122, 15, -51, -39, -94, -66, -39, 53, 124, 119, 58, -122};
char bormand, HACTEHbKA, adventure;
char passion = 1, beginning = 1, LOVE = 'a';
char story (char bormand, char HACTEHbKA) {
return ((int) bormand << CHAR_BIT | (int) HACTEHbKA) * 1103515245 + 12345;
}
int hot (char * love) {
if (* love == ' ') {
* love = 'a';
return 0;
} else if (* love == 'z') {
* love = ' ';
} else {
(* love) ++;
}
return 1;
}
int main () {
for (int adventure = beginning; adventure < sizeof(love); ) {
bormand = HACTEHbKA = LOVE;
do {
if (story(bormand, HACTEHbKA) == love[adventure - beginning]) {
char BORMAND = LOVE;
do {
if (story(HACTEHbKA, BORMAND) == love[adventure]) {
goto kiss;
}
} while(HOT(BORMAND));
}
} while(HOT(bormand) || HOT(HACTEHbKA));
kiss: adventure += passion;
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxsaW1pdHMuaD4KI2RlZmluZSBIT1QobG92ZSkgaG90KCZsb3ZlKQoKY29uc3QgY2hhciBsb3ZlW10gPSB7LTEzLCAxMjQsIC02MSwgLTk0LCAtMTIyLCAxNSwgLTUxLCAtMzksIC05NCwgLTY2LCAtMzksIDUzLCAxMjQsIDExOSwgNTgsIC0xMjJ9OwpjaGFyIGJvcm1hbmQsIEhBQ1RFSGJLQSwgYWR2ZW50dXJlOwpjaGFyIHBhc3Npb24gPSAxLCBiZWdpbm5pbmcgPSAxLCBMT1ZFID0gJ2EnOwoKY2hhciBzdG9yeSAoY2hhciBib3JtYW5kLCBjaGFyIEhBQ1RFSGJLQSkgewogICAgcmV0dXJuICgoaW50KSBib3JtYW5kIDw8IENIQVJfQklUIHwgKGludCkgSEFDVEVIYktBKSAqIDExMDM1MTUyNDUgKyAxMjM0NTsKfQoKaW50IGhvdCAoY2hhciAqIGxvdmUpIHsKICAgIGlmICgqIGxvdmUgPT0gJyAnKSB7CiAgICAgICAgKiBsb3ZlID0gJ2EnOwogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmICgqIGxvdmUgPT0gJ3onKSB7CiAgICAgICAgKiBsb3ZlID0gJyAnOwogICAgfSBlbHNlIHsKICAgICAgICAoKiBsb3ZlKSArKzsKICAgIH0KICAgIHJldHVybiAxOwp9CgppbnQgbWFpbiAoKSB7CiAgICBmb3IgKGludCBhZHZlbnR1cmUgPSBiZWdpbm5pbmc7IGFkdmVudHVyZSA8IHNpemVvZihsb3ZlKTsgKSB7CiAgICAgICAgYm9ybWFuZCA9IEhBQ1RFSGJLQSA9IExPVkU7CiAgICAgICAgCiAgICAgICAgZG8gewogICAgICAgICAgICBpZiAoc3RvcnkoYm9ybWFuZCwgSEFDVEVIYktBKSA9PSBsb3ZlW2FkdmVudHVyZSAtIGJlZ2lubmluZ10pIHsKICAgICAgICAgICAgICAgIGNoYXIgQk9STUFORCA9IExPVkU7CiAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0b3J5KEhBQ1RFSGJLQSwgQk9STUFORCkgPT0gbG92ZVthZHZlbnR1cmVdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHB1dGNoYXIoSEFDVEVIYktBKTsKICAgICAgICAgICAgICAgICAgICAgICAgZ290byBraXNzOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gd2hpbGUoSE9UKEJPUk1BTkQpKTsKICAgICAgICAgICAgfQogICAgICAgIH0gd2hpbGUoSE9UKGJvcm1hbmQpIHx8IEhPVChIQUNURUhiS0EpKTsKICAgICAgICAKICAgICAgICBraXNzOiBhZHZlbnR1cmUgKz0gcGFzc2lvbjsKICAgIH0KfQo=