#include <stdio.h>
unsigned int replace_bits(unsigned int reg, unsigned int val, int pos, int len)
{
unsigned int mask = (1 << len) - 1;
reg = (reg & ~(mask << pos)) | ((val & mask) << pos);
return reg;
}
int main()
{
unsigned int reg, val;
int pos, len;
scanf("%u %u %d %d", ®, &val, &pos, &len);
printf("%u", replace_bits(reg, val, pos, len));
return 0;
}