#include <stdio.h>
unsigned int get_bits(unsigned int n, int bitswanted){
return n & ((1<<bitswanted)-1);
}
int main()
{
unsigned long r=0b0010110100111110000010110110101010000001;
int i;
int byte1,byte2,byte3,byte4,byte5;
int bw6=6,bw4=4;
byte1 = (r>>32) & 0xFF;
byte2 = (r>>24) & 0xFF;
byte3 = (r>>16) & 0xFF;
byte4 = (r>>8) & 0xFF;
byte5 = (r>>0) & 0xFF;
int Lbits=get_bits(byte3,bw6);
int Mbits=get_bits(byte4,bw6);
int Hbits=get_bits(byte5,bw4);
int combine=(Hbits<<12)|(Mbits<<6)|Lbits;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bnNpZ25lZCBpbnQgZ2V0X2JpdHModW5zaWduZWQgaW50IG4sIGludCBiaXRzd2FudGVkKXsKCXJldHVybiBuICYgKCgxPDxiaXRzd2FudGVkKS0xKTsKfQoKaW50IG1haW4oKQp7CiAgICB1bnNpZ25lZCBsb25nIHI9MGIwMDEwMTEwMTAwMTExMTEwMDAwMDEwMTEwMTEwMTAxMDEwMDAwMDAxOwogICAgaW50IGk7CiAgICBpbnQgYnl0ZTEsYnl0ZTIsYnl0ZTMsYnl0ZTQsYnl0ZTU7CgogICAgaW50IGJ3Nj02LGJ3ND00OwoKICAgIGJ5dGUxID0gKHI+PjMyKSAmIDB4RkY7CiAgICBieXRlMiA9IChyPj4yNCkgJiAweEZGOwogICAgYnl0ZTMgPSAocj4+MTYpICYgMHhGRjsKICAgIGJ5dGU0ID0gKHI+PjgpICYgMHhGRjsKICAgIGJ5dGU1ID0gKHI+PjApICYgMHhGRjsKCiAgIGludCBMYml0cz1nZXRfYml0cyhieXRlMyxidzYpOwogICBpbnQgTWJpdHM9Z2V0X2JpdHMoYnl0ZTQsYnc2KTsKICAgaW50IEhiaXRzPWdldF9iaXRzKGJ5dGU1LGJ3NCk7CgogICBpbnQgY29tYmluZT0oSGJpdHM8PDEyKXwoTWJpdHM8PDYpfExiaXRzOwoKICBwcmludGYoIiVkXG4iLGNvbWJpbmUpOwp9Cgo=