#include <bits/stdc++.h>
using namespace std;
int main() {
  int q, a, ans;
  scanf("%d", &q);
  while (q--) {
    scanf("%d", &a);
    for (int i = 1; a >> (i - 1); i++) {
      if (a & (1 << i)) {
        ans = (1 << (i + 1)) - 1;
      }
    }
    if (ans == a) {
      ans = 1;
      for (int i = 2; i * i <= a; i++) {
        if (!(a % i)) ans = max(ans, a / i);
      }
    }
    printf("%d\n", ans);
  }
  return 0;
}
