#include <bits/stdc++.h>   using namespace std;   int prim[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};   int n;   long long ans;   void DFS(int a, int b, long long temp) {     if (temp < ans && a == n) ans = temp;     if (a >= n) return;     for (int i = 1; i <= 64; i++) {       if (ans / prim[b] < temp) break;       temp *= prim[b];       DFS(a * (i + 1), (b + 1), temp);     }   }   int main() {     while (scanf( %d , &n) != EOF) {       ans = LONG_LONG_MAX;       DFS(1, 0, 1);       printf( %lld n , ans);     }     return 0;   }   