#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
const double eps = 1e-9;
const double pi = acos(-1.0);
int main() {
  long long n;
  cin >> n;
  unsigned long long p = 1;
  unsigned long long sq = (unsigned long long)(sqrt(n + 0.0) + eps + 1);
  bool was = false;
  while (p - 1 <= n) {
    unsigned long long lf = 1;
    unsigned long long rg = min(sq, n / p) + 5;
    while (lf < rg - 1) {
      unsigned long long mm = (lf + rg) >> 1;
      unsigned long long m = 2 * mm - 1;
      if ((p - 1) * m + m * (m - 1) / 2 <= n) {
        lf = mm;
      } else {
        rg = mm;
      }
    }
    lf = 2 * lf - 1;
    if ((p - 1) * lf + lf * (lf - 1) / 2 == n) {
      cout << p * lf << endl;
      was = true;
    }
    p = p * 2;
  }
  if (!was) puts("-1");
  return 0;
}
