#include <iostream>
#include <cstring>
void encrypt(const char* password)
{
size_t len = strlen(password);
size_t allocSize = strlen(password) + sizeof('+') + sizeof('\0');
size_t mid = len / 2;
char left[16];
char right[16];
strncpy(left, password, len - mid);
left[len - mid] = '\0';
strcpy(right, password + mid);
std::cout << "password = " << password
<< ", len = " << len
<< ", remainder = " << (len - mid)
<< ", mid = " << mid
<< ", left = " << left
<< ", right = " << right
<< '\n';
}
int main()
{
std::cout << "begin\n";
encrypt("12345678");
encrypt("123456789");
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxjc3RyaW5nPgoKICAgIHZvaWQgZW5jcnlwdChjb25zdCBjaGFyKiBwYXNzd29yZCkKICAgIHsKICAgIAlzaXplX3QgbGVuID0gc3RybGVuKHBhc3N3b3JkKTsKICAgICAgICBzaXplX3QgYWxsb2NTaXplID0gc3RybGVuKHBhc3N3b3JkKSArIHNpemVvZignKycpICsgc2l6ZW9mKCdcMCcpOwogICAgICAgIHNpemVfdCBtaWQgPSBsZW4gLyAyOwoKICAgICAgICBjaGFyIGxlZnRbMTZdOwogICAgICAgIGNoYXIgcmlnaHRbMTZdOwoKCQlzdHJuY3B5KGxlZnQsIHBhc3N3b3JkLCBsZW4gLSBtaWQpOwoJCWxlZnRbbGVuIC0gbWlkXSA9ICdcMCc7CgkJc3RyY3B5KHJpZ2h0LCBwYXNzd29yZCArIG1pZCk7CgogICAgICAgIHN0ZDo6Y291dCA8PCAicGFzc3dvcmQgPSAiIDw8IHBhc3N3b3JkCiAgICAgICAgICAgICAgICAgIDw8ICIsIGxlbiA9ICIgPDwgbGVuCiAgICAgICAgICAgICAgICAgIDw8ICIsIHJlbWFpbmRlciA9ICIgPDwgKGxlbiAtIG1pZCkKICAgICAgICAgICAgICAgICAgPDwgIiwgbWlkID0gIiA8PCBtaWQKICAgICAgICAgICAgICAgICAgPDwgIiwgbGVmdCA9ICIgPDwgbGVmdAogICAgICAgICAgICAgICAgICA8PCAiLCByaWdodCA9ICIgPDwgcmlnaHQKICAgICAgICAgICAgICAgICAgPDwgJ1xuJzsKICAgIH0KCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAJc3RkOjpjb3V0IDw8ICJiZWdpblxuIjsKICAgICAgICBlbmNyeXB0KCIxMjM0NTY3OCIpOwogICAgICAgIGVuY3J5cHQoIjEyMzQ1Njc4OSIpOwoKICAgICAgICByZXR1cm4gMDsKICAgIH0K
begin
password = 12345678, len = 8, remainder = 4, mid = 4, left = 1234, right = 5678
password = 123456789, len = 9, remainder = 5, mid = 4, left = 12345, right = 56789