#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1e5 + 9;
int res[4];
long long int mypow(int t) {
  int s = 1;
  for (int i = 0; i < t; i++) {
    s <<= 1;
  }
  return s;
}
int main() {
  int N, M, T;
  while (cin >> N) {
    long long ans = 1;
    for (int i = 1; i <= 10; i++) {
      long long temp = mypow(2 * i - 1) - mypow(i - 1);
      if (temp > N) break;
      if (N % temp == 0) ans = temp;
    }
    cout << ans << endl;
  }
  return 0;
}
