#include <stdio.h>
#include <stdint.h>
typedef union
{
struct
{
uint32_t dummy_low : 10;
uint32_t value : 5;
uint32_t dummy_high : 17;
} Bits;
uint32_t value;
} Register32;
uint32_t update_register(uint32_t reg) {
// Your logic here
Register32 reg_bits;
reg_bits.value = reg;
reg_bits.Bits.value = (reg_bits.Bits.value < 31) ? reg_bits.Bits.value + 1 : reg_bits.Bits.value;
return reg_bits.value;
}
int main() {
uint32_t reg;
scanf("%u", ®);
uint32_t updated = update_register(reg);
printf("%u", updated);
return 0;
}