#include <stdio.h>
#include <stdint.h>
// Complete the function
uint16_t highest_set_bit(uint16_t reg) {
// Your logic here
int flag = 0;
int found = 0;
for(int i = 15; i >= 0;i--){
if(reg & (1 << i) && flag == 0 && found == 0){
flag = 1;
found = 1;
}
if(flag == 0){
reg &= ~(1 << i);
}
flag = 0;
}
return reg;
}
int main() {
uint16_t reg;
scanf("%hu", ®);
uint16_t result = highest_set_bit(reg);
printf("%hu", result);
return 0;
}