#include <iostream>
#include <iomanip>

using namespace std;

unsigned long long isFact(unsigned long long N)
{
    unsigned long long f = 1;
    for(unsigned long long i = 1; f < N; ++i)
    {
        if ((f *= i) == N) return i;
    }
    return 0;
}

int main(int argc, const char * argv[])
{
    cout << isFact(5039) << endl;
    cout << isFact(5040) << endl;
    cout << isFact(5041) << endl;
}
