#include <stdio.h>
#include <stdint.h>
uint32_t update_register(uint32_t reg) {
uint32_t fields = (reg >> 10) & 0x1F; //bits from 0 to 4
reg &= ~(0x1F << 10); //clear bits 10 to 14
uint32_t mask = 1UL;
if(fields<31){
while(fields & mask){ //detection du 0 pour utilisation mask
fields ^= mask;
mask <<= 1;
}
fields ^= mask;
}
reg |= (fields << 10);
return reg;
}
int main() {
uint32_t reg;
scanf("%u", ®);
uint32_t updated = update_register(reg);
printf("%u", updated);
return 0;
}