#include <stdio.h>
#include <string.h>
#include <stdint.h>
 
int main() {
    char local_58[] = {
        -0x1f, -0x59, 0x1e, -8, 'u', '#', '{', 'a', -0x47, -99, -4, 'Z', '[', -0x21, 'i',
        0xd2, -2, 0x1b, -0x13, -0xc, -0x13, 'g', -0xc
    };
 
    char password[28] = {0}; // 27文字 + NULL終端子
 
    // check関数をシミュレート
    int local_1c = 0;
    int local_20 = 0;
 
    for (uint32_t local_24 = 0; local_24 < 0x17; local_24++) {
        for (int local_28 = 0; local_28 < 8; local_28++) {
            if (local_20 == 0) {
                local_20 = 1;
            }
 
            uint32_t local_30 = 1 << (7U - (char)local_28 & 0x1f);
            uint32_t local_34 = 1 << (7U - (char)local_20 & 0x1f);
 
 
            int expected_bit = (local_58[local_24] & local_30) != 0;
            password[local_1c] |= (expected_bit << (7 - local_20));
 
            local_20++;
            if (local_20 == 8) {
                local_20 = 0;
                local_1c++;
            }
 
            if (local_1c == 27) {
              break;
            }
        }
         if (local_1c == 27) {
              break;
            }
    }
 
    printf("The password is: %s\n", password
);     return 0;
}
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgoKaW50IG1haW4oKSB7CiAgICBjaGFyIGxvY2FsXzU4W10gPSB7CiAgICAgICAgLTB4MWYsIC0weDU5LCAweDFlLCAtOCwgJ3UnLCAnIycsICd7JywgJ2EnLCAtMHg0NywgLTk5LCAtNCwgJ1onLCAnWycsIC0weDIxLCAnaScsCiAgICAgICAgMHhkMiwgLTIsIDB4MWIsIC0weDEzLCAtMHhjLCAtMHgxMywgJ2cnLCAtMHhjCiAgICB9OwoKICAgIGNoYXIgcGFzc3dvcmRbMjhdID0gezB9OyAvLyAyN+aWh+WtlyArIE5VTEzntYLnq6/lrZAKCiAgICAvLyBjaGVja+mWouaVsOOCkuOCt+ODn+ODpeODrOODvOODiAogICAgaW50IGxvY2FsXzFjID0gMDsKICAgIGludCBsb2NhbF8yMCA9IDA7CgogICAgZm9yICh1aW50MzJfdCBsb2NhbF8yNCA9IDA7IGxvY2FsXzI0IDwgMHgxNzsgbG9jYWxfMjQrKykgewogICAgICAgIGZvciAoaW50IGxvY2FsXzI4ID0gMDsgbG9jYWxfMjggPCA4OyBsb2NhbF8yOCsrKSB7CiAgICAgICAgICAgIGlmIChsb2NhbF8yMCA9PSAwKSB7CiAgICAgICAgICAgICAgICBsb2NhbF8yMCA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHVpbnQzMl90IGxvY2FsXzMwID0gMSA8PCAoN1UgLSAoY2hhcilsb2NhbF8yOCAmIDB4MWYpOwogICAgICAgICAgICB1aW50MzJfdCBsb2NhbF8zNCA9IDEgPDwgKDdVIC0gKGNoYXIpbG9jYWxfMjAgJiAweDFmKTsKCgogICAgICAgICAgICBpbnQgZXhwZWN0ZWRfYml0ID0gKGxvY2FsXzU4W2xvY2FsXzI0XSAmIGxvY2FsXzMwKSAhPSAwOwogICAgICAgICAgICBwYXNzd29yZFtsb2NhbF8xY10gfD0gKGV4cGVjdGVkX2JpdCA8PCAoNyAtIGxvY2FsXzIwKSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBsb2NhbF8yMCsrOwogICAgICAgICAgICBpZiAobG9jYWxfMjAgPT0gOCkgewogICAgICAgICAgICAgICAgbG9jYWxfMjAgPSAwOwogICAgICAgICAgICAgICAgbG9jYWxfMWMrKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGxvY2FsXzFjID09IDI3KSB7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgIGlmIChsb2NhbF8xYyA9PSAyNykgewogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCJUaGUgcGFzc3dvcmQgaXM6ICVzXG4iLCBwYXNzd29yZCk7CiAgICByZXR1cm4gMDsKfQ==