import Foundation func primes(n: Int) -> AnyGenerator { var (seive, i) = ([Int](0.. Bool { let g = primes(n) while let first = g.next() { if n % first == 0 { if first * first == n { return true } else { while let second = g.next() { if first * second == n { return true } } } } } return false }