- #include <stdio.h> 
- #include <stdlib.h> 
-   
- int FullAdder(int A, int B) 
- { 
-     static int Cr; 
-     int S; 
-     if (A|B) 
-     { 
-         S=(A^B^Cr)&1; 
-         Cr=(A&B|Cr&(A^B))&1; 
-         return (FullAdder(A>>1, B>>1)<<1)|S; 
-     } 
-     return Cr; 
- } 
-   
- int SwapBits(int X) 
- { 
-     return ((X&0x55555555)<<1)|((X&0xAAAAAAAA)>>1); 
- } 
-   
- int main() 
- { 
-     printf("%d\n",- FullAdder (999,1));
 
-     printf("%x\n",- SwapBits (0x1248));
 
-     return 0; 
- } 
-   
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBGdWxsQWRkZXIoaW50IEEsIGludCBCKQp7CiAgICBzdGF0aWMgaW50IENyOwogICAgaW50IFM7CiAgICBpZiAoQXxCKQogICAgewogICAgICAgIFM9KEFeQl5DcikmMTsKICAgICAgICBDcj0oQSZCfENyJihBXkIpKSYxOwogICAgICAgIHJldHVybiAoRnVsbEFkZGVyKEE+PjEsIEI+PjEpPDwxKXxTOwogICAgfQogICAgcmV0dXJuIENyOwp9CgppbnQgU3dhcEJpdHMoaW50IFgpCnsKICAgIHJldHVybiAoKFgmMHg1NTU1NTU1NSk8PDEpfCgoWCYweEFBQUFBQUFBKT4+MSk7Cn0KCmludCBtYWluKCkKewogICAgcHJpbnRmKCIlZFxuIixGdWxsQWRkZXIoOTk5LDEpKTsKICAgIHByaW50ZigiJXhcbiIsU3dhcEJpdHMoMHgxMjQ4KSk7CiAgICByZXR1cm4gMDsKfQo=