#include <iostream>
using namespace std;
unsigned int merged(unsigned char a, unsigned char b) {
unsigned int r = a;
for (; b; b>>=1)
r = (r<<1)|(b&1);
return r;
}
int main() {
unsigned char x = 0b110101;
unsigned char y = 0b10011;
cout << (merged(x,y)==0b11010111001 ? "yes!":"fail")<<endl;
cout << (merged(y,x)==0b10011101011 ? "yes!":"fail")<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdW5zaWduZWQgaW50IG1lcmdlZCh1bnNpZ25lZCBjaGFyIGEsIHVuc2lnbmVkIGNoYXIgYikgewoJdW5zaWduZWQgaW50IHIgPSBhOyAKCWZvciAoOyBiOyBiPj49MSkgCgkgICAgciA9IChyPDwxKXwoYiYxKTsKCXJldHVybiByOwp9CgppbnQgbWFpbigpIHsKCQoJdW5zaWduZWQgY2hhciB4ID0gMGIxMTAxMDE7Cgl1bnNpZ25lZCBjaGFyIHkgPSAwYjEwMDExOwoJCgljb3V0IDw8IChtZXJnZWQoeCx5KT09MGIxMTAxMDExMTAwMSA/ICJ5ZXMhIjoiZmFpbCIpPDxlbmRsOyAgCgljb3V0IDw8IChtZXJnZWQoeSx4KT09MGIxMDAxMTEwMTAxMSA/ICJ5ZXMhIjoiZmFpbCIpPDxlbmRsOyAgCgkKCXJldHVybiAwOwp9