#include <bits/stdc++.h>
using namespace std;
bool ck(int x) {
  int t[50], l = 0;
  while (x) t[l++] = x & 1, x >>= 1;
  if (l & 1) {
    int lim = l - 1 >> 1;
    for (int i = 0; i < lim; i++)
      if (t[i]) return 0;
    for (int i = lim; i < l; i++)
      if (!t[i]) return 0;
  } else
    return 0;
  return 1;
}
int main() {
  int n;
  cin >> n;
  for (int i = n; i >= 1; i--) {
    if (n % i == 0 && ck(i)) {
      printf("%d\n", i);
      return 0;
    }
  }
}
