#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("b210.in");
ofstream fout("b210.out");
int n, m;
int main()
{int nr=0, p=1, i, uc;
cin>>n;
/** Transform nr n in b2, memorez nr de cifre de 0 si 1 "semnificative"
(mai putin primul 1 ) care apare intotdeauna intr-un numar scris in b2 .*/
while ( p*2 <= n) p*=2, nr++;
//cout<<nr<<" ";
m=n;
///permutari circulare ale numarului n in b2
for (i=0; i<nr; i++)
{
uc=n%2;
n/=2;
n=n+uc*p;
if (n>m) m=n;
}
cout<<m<<'\n';
fout.close();
return 0;
}