#include <list>
#include <vector>
#include <iostream>
#include <limits.h>
using namespace std;
 
int main() {
	vector<int> primes = { 2, 3, 5, 7, 11, 17, 23 };
	int num = 100005917;
	int bestCandidate = INT_MAX;
	list<pair<int, int> > ls;
	ls.push_back(make_pair(1, 0)); 
	while (ls.size()) {
		long long currentProd = ls.front().first;
		int primesUsed = ls.front().second;
		ls.pop_front();
		int currentPrime = primes[primesUsed];
		while (currentProd < num) {
			if(primesUsed < primes.size() - 1)
				ls.push_back(make_pair(currentProd, primesUsed + 1));
			currentProd *= currentPrime;
		}
		bestCandidate = min((long long)bestCandidate, currentProd);
	}
	cout << bestCandidate;
}