Cod sursa(job #50938)
#include <cstdio>
int f ( int x ) {
int s = 0;
for (int a = x; a > 0; a /= 5) {
s += a/5;
}
return s;
}
int bsearch ( int val )
{
int step, i;
const int N = 1e9;
for (step = 1; step < N; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step < N && f(i + step) <= val)
i += step;
return i;
}
int main() {
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int p;
scanf("%d",&p);
if (p == 0)
printf("0");
else {
int x = bsearch(p);
for (int b, c = f(x); (b = f(x-1)) == c; --x) c = b;
printf("%d",x);
}
return 0;
}