unsigned short esubkeys[52];unsigned short dsubkeys[52];dsubkeys[i] = inv(esubkeys[48-i]);
...int a = 1;int b = ~a; ...
std::string inv(const std::string& num) { return std::string(num.rbegin(), num.rend());}