Given an integer array nums, return the sum of divisors of the integers in that array that have exactly four divisors.
If there is no such integer in the array, return 0.
Example 1:
Input: nums = [21,4,7]
Output: 32
Explanation:
21 has 4 divisors: 1, 3, 7, 21
4 has 3 divisors: 1, 2, 4
7 has 2 divisors: 1, 7
The answer is the sum of divisors of 21 only.
Constraints:
1 <= nums.length <= 10^4
1 <= nums[i] <= 10^5
class Solution:
    def find_factors(self, n):
        factors = []
        i = 1
        j = n
        while True:
            if i*j == n:
                factors.append(i)
                if i == j:
                    break
                factors.append(j)
            i += 1
            j = n // i
            if i > j:
                break
        return factors
    def sumFourDivisors(self, nums: List[int]) -> int:
        d = 0
        for i in nums:
            f = self.find_factors(i)
            if len(f)==4:
                d+=f[0]+f[1]+f[2]+f[3]
        return d

class Solution:
    def find_factors(self, n):
        factors = []
        i = 1
        j = n
        while True:
            if i*j == n:
                factors.append(i)
                if i == j:
                    break
                factors.append(j)
            i += 1
            j = n // i
            if i > j:
                break
        return factors
    def sumFourDivisors(self, nums: List[int]) -> int:
        d = 0
        for i in nums:
            f = self.find_factors(i)
            if len(f)==4:
                d+=f[0]+f[1]+f[2]+f[3]
        return d
