         let pf = FactorCache.shared.Factor(p: n, cancel: cancel)
         self.init(pf: pf)
     }
-    init(pf : PrimeFactors) {
+    public init(pf : PrimeFactors) {
         self.unfactored = pf.unfactored
         factors = []
         

    }
}

struct FactorWithPot {
    init(f: BigUInt) {
        self.f = f
        self.e = 1
    }
    init(f: BigUInt, e: Int) {
        self.f = f
        self.e = e
    }
    
    var f: BigUInt = 0
    var e: Int = 0
}



        return ret
    }
    
    public func Divisors(p: BigUInt,cancel: CalcCancelProt?) -> [BigUInt]
    {
        let factors = Factor(p: p,cancel: cancel)
        if cancel?.IsCancelled() ?? false { return [1,p] }
