#include <iostream>
#include <math.h>
using namespace std;

int main(){
	unsigned long in_val, tmp_val;
	cin >> in_val;
	tmp_val = in_val;
	unsigned long power;
	power = pow(2, floor(log2(in_val)) + 1);
	tmp_val = in_val;
	unsigned long max_val = in_val;
	do{
		in_val = in_val << 1;
		in_val = in_val % power + (in_val >= power ? 1 : 0);
		if(max_val < in_val){
			max_val = in_val;
		}
	}while(tmp_val != in_val);
	cout << max_val << endl;

	return 0;
}