fork download
  1. primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53]
  2. ans = 0
  3. max_divisors = 0
  4. def f(rest, mini, pos, num, divisors):
  5. global ans, max_divisors
  6. if divisors > max_divisors:
  7. ans = num
  8. max_divisors = divisors
  9.  
  10. pwr = 0
  11. while(rest>=primes[pos] and pwr<mini):
  12. rest//=primes[pos]
  13. pwr+=1
  14. num*=primes[pos]
  15. f(rest, pwr, pos+1, num, divisors*(1+pwr))
  16.  
  17. maxi = int(input())
  18. f(maxi, 100, 0, 1, 1)
  19. print(ans, max_divisors)
Success #stdin #stdout 0.04s 9800KB
stdin
1000000000000000000
stdout
897612484786617600 103680