#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;       }     }   }   