#include <iostream>
using namespace std;
// Tablica początkowych liczb pierwszych.
// Taka ilość wystarczy nawet dla N rzędu 10^18.
int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};
long long n;
long long best_num = 1;
long long max_div = 1;
// Funkcja rekurencyjna generująca kandydatów na liczby antypierwsze
void dfs(int prime_idx, long long current_num, long long current_div, int max_exp) {
// Jeśli znaleziona liczba ma więcej dzielników, staje się nowym kandydatem
if (current_div > max_div) {
max_div = current_div;
best_num = current_num;
}
// Jeśli ma tyle samo dzielników, wybieramy mniejszą (wynika to z definicji)
else if (current_div == max_div && current_num < best_num) {
best_num = current_num;
}
// Warunek zakończenia, by nie wyjść poza zakres tablicy primes
if (prime_idx >= 16) return;
long long temp_num = current_num;
// Zwiększamy potęgę dla aktualnej liczby pierwszej
// Zgodnie z własnością liczb antypierwszych i <= max_exp
for (int i = 1; i <= max_exp; ++i) {
// Zabezpieczenie przed przekroczeniem limitu n oraz przed przepełnieniem zmiennej (overflow)
if (n / primes[prime_idx] < temp_num) {
break;
}
temp_num *= primes[prime_idx];
// Wywołanie rekurencyjne dla kolejnej liczby pierwszej
// Liczba dzielników po domnożeniu p^i wzrasta (i+1) razy
dfs(prime_idx + 1, temp_num, current_div * (i + 1), i);
}
}
int main() {
// Optymalizacja wejścia/wyjścia
ios_base::sync_with_stdio(false);
cin.tie(NULL);
if (cin >> n) {
// Zaczynamy od indeksu 0 (liczba pierwsza 2), wartości 1, 1 dzielnika
// i arbitralnie dużego limitu wykładnika potęgi (np. 60 dla N <= 10^18)
dfs(0, 1, 1, 60);
cout << best_num << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIFRhYmxpY2EgcG9jesSFdGtvd3ljaCBsaWN6YiBwaWVyd3N6eWNoLgovLyBUYWthIGlsb8WbxIcgd3lzdGFyY3p5IG5hd2V0IGRsYSBOIHJ6xJlkdSAxMF4xOC4KaW50IHByaW1lc1tdID0gezIsIDMsIDUsIDcsIDExLCAxMywgMTcsIDE5LCAyMywgMjksIDMxLCAzNywgNDEsIDQzLCA0NywgNTN9OwoKbG9uZyBsb25nIG47CmxvbmcgbG9uZyBiZXN0X251bSA9IDE7CmxvbmcgbG9uZyBtYXhfZGl2ID0gMTsKCi8vIEZ1bmtjamEgcmVrdXJlbmN5am5hIGdlbmVydWrEhWNhIGthbmR5ZGF0w7N3IG5hIGxpY3pieSBhbnR5cGllcndzemUKdm9pZCBkZnMoaW50IHByaW1lX2lkeCwgbG9uZyBsb25nIGN1cnJlbnRfbnVtLCBsb25nIGxvbmcgY3VycmVudF9kaXYsIGludCBtYXhfZXhwKSB7CiAgICAKICAgIC8vIEplxZtsaSB6bmFsZXppb25hIGxpY3piYSBtYSB3acSZY2VqIGR6aWVsbmlrw7N3LCBzdGFqZSBzacSZIG5vd3ltIGthbmR5ZGF0ZW0KICAgIGlmIChjdXJyZW50X2RpdiA+IG1heF9kaXYpIHsKICAgICAgICBtYXhfZGl2ID0gY3VycmVudF9kaXY7CiAgICAgICAgYmVzdF9udW0gPSBjdXJyZW50X251bTsKICAgIH0gCiAgICAvLyBKZcWbbGkgbWEgdHlsZSBzYW1vIGR6aWVsbmlrw7N3LCB3eWJpZXJhbXkgbW5pZWpzesSFICh3eW5pa2EgdG8geiBkZWZpbmljamkpCiAgICBlbHNlIGlmIChjdXJyZW50X2RpdiA9PSBtYXhfZGl2ICYmIGN1cnJlbnRfbnVtIDwgYmVzdF9udW0pIHsKICAgICAgICBiZXN0X251bSA9IGN1cnJlbnRfbnVtOwogICAgfQoKICAgIC8vIFdhcnVuZWsgemFrb8WEY3plbmlhLCBieSBuaWUgd3lqxZvEhyBwb3phIHpha3JlcyB0YWJsaWN5IHByaW1lcwogICAgaWYgKHByaW1lX2lkeCA+PSAxNikgcmV0dXJuOwoKICAgIGxvbmcgbG9uZyB0ZW1wX251bSA9IGN1cnJlbnRfbnVtOwogICAgCiAgICAvLyBad2nEmWtzemFteSBwb3TEmWfEmSBkbGEgYWt0dWFsbmVqIGxpY3pieSBwaWVyd3N6ZWoKICAgIC8vIFpnb2RuaWUgeiB3xYJhc25vxZtjacSFIGxpY3piIGFudHlwaWVyd3N6eWNoIGkgPD0gbWF4X2V4cAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbWF4X2V4cDsgKytpKSB7CiAgICAgICAgCiAgICAgICAgLy8gWmFiZXpwaWVjemVuaWUgcHJ6ZWQgcHJ6ZWtyb2N6ZW5pZW0gbGltaXR1IG4gb3JheiBwcnplZCBwcnplcGXFgm5pZW5pZW0gem1pZW5uZWogKG92ZXJmbG93KQogICAgICAgIGlmIChuIC8gcHJpbWVzW3ByaW1lX2lkeF0gPCB0ZW1wX251bSkgewogICAgICAgICAgICBicmVhazsgCiAgICAgICAgfQogICAgICAgIAogICAgICAgIHRlbXBfbnVtICo9IHByaW1lc1twcmltZV9pZHhdOwogICAgICAgIAogICAgICAgIC8vIFd5d2/FgmFuaWUgcmVrdXJlbmN5am5lIGRsYSBrb2xlam5laiBsaWN6YnkgcGllcndzemVqCiAgICAgICAgLy8gTGljemJhIGR6aWVsbmlrw7N3IHBvIGRvbW5vxbxlbml1IHBeaSB3enJhc3RhIChpKzEpIHJhenkKICAgICAgICBkZnMocHJpbWVfaWR4ICsgMSwgdGVtcF9udW0sIGN1cnJlbnRfZGl2ICogKGkgKyAxKSwgaSk7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgLy8gT3B0eW1hbGl6YWNqYSB3ZWrFm2NpYS93eWrFm2NpYQogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIGlmIChjaW4gPj4gbikgewogICAgICAgIC8vIFphY3p5bmFteSBvZCBpbmRla3N1IDAgKGxpY3piYSBwaWVyd3N6YSAyKSwgd2FydG/Fm2NpIDEsIDEgZHppZWxuaWthIAogICAgICAgIC8vIGkgYXJiaXRyYWxuaWUgZHXFvGVnbyBsaW1pdHUgd3lrxYJhZG5pa2EgcG90xJlnaSAobnAuIDYwIGRsYSBOIDw9IDEwXjE4KQogICAgICAgIGRmcygwLCAxLCAxLCA2MCk7CiAgICAgICAgCiAgICAgICAgY291dCA8PCBiZXN0X251bSA8PCAiXG4iOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==