#include <stdio.h>
#include <stdint.h>
// Complete the function
uint16_t highest_set_bit(uint16_t reg) {
uint16_t highest = 0;
if(reg == 0) return 0;
// Iterate from highest bit (15) to lowest bit (0)
for(uint8_t i = 15; i >= 0; i--){
if(reg & (1<<i)){ // Check if the i-th bit is set
highest = (1<<i);
break; // Exit loop after finding the highest set bit
}
}
return highest;
}
int main() {
uint16_t reg;
scanf("%hu", ®); // %hu: unsigned short: 16 bits
printf("%hu", highest_set_bit(reg));
return 0;
}