﻿from math import factorial
from math import sqrt
import time

start,end=0,2001
cond=(0,1,4,5,6,9)

Time_start=time.time()

def is_square(m):
  x = m // 2
  e = set([x])
  while x * x != m:
    x = (x + (m // x)) // 2
    if x in e: return False
    e.add(x)
  return True


print("N & M")
for n in range(start,end):
    m=factorial(n)+1
    if int(m)==m and int(str(m)[-1]) in cond :
        if is_square(m):
            print(n,'&',sqrt(m))


Time_end=time.time()
temps=Time_end-Time_start
minute=temps/60
H=minute//60
minute-=H*60
minute=str(minute)[:4]
print('===========================')
print('Temps : %s heure %s mins '% (H,minute))