input: Write a python function that determines if a given number can be expressed as the product of exactly three prime numbers, given that the number is less than 100.
  
  assert is_product_of_3_primes(5) == False
  assert is_product_of_3_primes(30) == True
  assert is_product_of_3_primes(8) == True
  assert is_product_of_3_primes(10) == False
  assert is_product_of_3_primes(125) == True
  assert is_product_of_3_primes(3 * 5 * 7) == True
  assert is_product_of_3_primes(3 * 6 * 7) == False
  assert is_product_of_3_primes(9 * 9 * 9) == False
  assert is_product_of_3_primes(11 * 9 * 9) == False
  assert is_product_of_3_primes(11 * 13 * 7) == True
output: def is_product_of_3_primes(num):
      if num < 2:
          return False
  
      # List of all prime numbers less than 100
      primes = []
      for possiblePrime in range(2, 100):
          isPrime = True
          for num in range(2, int(possiblePrime ** 0.5) + 1):
              if possiblePrime % num == 0:
                  isPrime = False
                  break
          if isPrime:
              primes.append(possiblePrime)
  
      # Check all combinations of three distinct primes
      n = len(primes)
      for i in range(n):
          for j in range(i, n):
              for k in range(j, n):
                  if primes[i] * primes[j] * primes[k] == num:
                      return True
  
      return False