#include <stdio.h>
#include <stdint.h>
// Complete the function
uint16_t highest_set_bit(uint16_t reg) {
// Your logic here
int max =0;
for(int n =0;n<16;n++){
if(reg & (1<<n))// to check n bit set
if(max <n) max =n; //update the max with set bit position
else max =max;
}
if (reg ==0 ) return reg;
else
reg = reg&0x0000;
reg =reg| (1<<max);
return reg;
}
int main() {
uint16_t reg;
scanf("%hu", ®);
uint16_t result = highest_set_bit(reg);
printf("%hu", result);
return 0;
}