def fac3(n): def facpart(mi,ma): if mi == ma: return mi elif mi > ma: return 1 else: return facpart(mi,(mi+ma)//2) * facpart((mi+ma)//2+1, ma) return facpart(1,n)