Pagini recente » Cod sursa (job #1475940) | Cod sursa (job #1029432) | Cod sursa (job #891570) | Cod sursa (job #489563) | Cod sursa (job #1453066)
#include <cstdio>
#define pii pair <int, int>
#define ll long long
#define NX 10000000000
using namespace std;
inline int getpp (int x){
int nr = 0, k;
for (k = 5 ; k <=x; k*=5)
nr+=x/k;
return nr;
}
int typf (int X){
unsigned ll st = 0 , dr = NX, mid;
while (st <= dr) {
mid = st + ((dr-st)>>1);
if (getpp(mid) == X) return mid;
if (getpp(mid) < X)
st = mid + 1;
else dr = mid - 1;
}
return -1;
}
int main()
{
freopen ("fact.in", "r", stdin);
freopen ("fact.out", "w", stdout);
int nz;
scanf ("%d", &nz);
if (nz == 0 ){
printf ("1");
return 0;
}
else {
int y = typf(nz);
if (y == -1){ printf ("%d", -1); return 0;}
while (getpp(y-1) == nz || getpp(y) > nz ) y--;
printf ("%d", y);}
return 0;
}