#include using namespace std; using i64 = long long; inline i64 lb(i64 x) {return x & (-x);} i64 check(i64 x, int k) { i64 sum = 0; while (k--) { sum += x; x /= 2; } return sum; } void solve() { i64 n, minx; cin >> n; minx = n; double d = 1.0; for(int i = 2; i <= 61; i ++) { d += 1.0 / i; i64 p = n / d; for(i64 x = p - 100; x <= p + 100; x ++) { if(check(x, i) == n) minx = min(minx, x); } } cout << minx << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(0); int T; T = 1; while(T --) solve(); }