#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define ld long double #define all(v) begin(v), end(v) #define rep(i, n) for (ll i = 0; i < n; ++i) #define rep2(i, n, m) for (ll i = n; i <= m; ++i) #define rep3(i, n, m) for (ll i = n; i >= m; --i) template bool chmax(S& a, T& b) { if (a < b) { a = b; return true; } return false; } template bool chmin(S& a, T& b) { if (a > b) { a = b; return true; } return false; } int main(void) { ll n, k; cin >> n >> k; vector gs; gs.push_back(1); rep2(i, 2, sqrt(n)) { if (n % i == 0) { ll a = i, b = n / i; if (a * 2 <= n) gs.push_back(a); if (b * 2 <= n) gs.push_back(b); } } cout << *max_element(all(gs)) << endl; return (0); }