#include #include #include #include typedef long long ll; int main(void) { std::cin.tie(0); std::ios::sync_with_stdio(false); std::cout << std::fixed << std::setprecision(2); ll n; std::cin >> n; ll sums = n * (n+1) / 2; std::vector< ll > divisible; for (ll i = 1; i * i <= n; ++i) { if (n%i!=0) continue; ll x = n/i; divisible.push_back(i); divisible.push_back(x); } std::sort(divisible.begin(), divisible.end(), std::greater< ll >()); for (auto d : divisible) { if (sums%d==0) {std::cout << d << std::endl; return 0;} } return 0; }