import math
def is_prime(x, primes):
return all(x % i for i in primes if i < math.sqrt(x))
def first_k_primes(i, k, my_primes):
if k <= 0:
return my_primes
if is_prime(i, my_primes):
my_primes.append(i)
return first_k_primes(i + 2, k - 1, my_primes)
return first_k_primes(i + 2, k, my_primes)
first_k_primes(5, 312, [2, 3])
aW1wb3J0IG1hdGgKCmRlZiBpc19wcmltZSh4LCBwcmltZXMpOgogICAgcmV0dXJuIGFsbCh4ICUgaSBmb3IgaSBpbiBwcmltZXMgaWYgaSA8IG1hdGguc3FydCh4KSkKCmRlZiBmaXJzdF9rX3ByaW1lcyhpLCBrLCBteV9wcmltZXMpOgogICAgaWYgayA8PSAwOgogICAgICAgIHJldHVybiBteV9wcmltZXMKCiAgICBpZiBpc19wcmltZShpLCBteV9wcmltZXMpOgogICAgICAgIG15X3ByaW1lcy5hcHBlbmQoaSkgICAKICAgICAgICByZXR1cm4gZmlyc3Rfa19wcmltZXMoaSArIDIsIGsgLSAxLCBteV9wcmltZXMpCgogICAgcmV0dXJuIGZpcnN0X2tfcHJpbWVzKGkgKyAyLCBrLCBteV9wcmltZXMpCgpmaXJzdF9rX3ByaW1lcyg1LCAzMTIsIFsyLCAzXSk=