from math import sqrt
from euler.utils import divisors


def triangle_numbers(limit):
    n = 1
    t = 0
    while n <= limit:
        t += n
        n += 1
        yield t


def first_triangle_number_with_more_than_n_divisors(n):
    for t in triangle_numbers(1000000):
        if len(list(divisors(t))) > n:
            return t


def answer():
    return first_triangle_number_with_more_than_n_divisors(500)

f0dc95e1e151f76ab4a3811746747f4e15bdff67
<mask token>


def answer():
    return first_triangle_number_with_more_than_n_divisors(500)

<mask token>


def triangle_numbers(limit):
    n = 1
    t = 0
    while n <= limit:
        t += n
        n += 1
        yield t


<mask token>


def answer():
    return first_triangle_number_with_more_than_n_divisors(500)

<mask token>


def triangle_numbers(limit):
    n = 1
    t = 0
    while n <= limit:
        t += n
        n += 1
        yield t


def first_triangle_number_with_more_than_n_divisors(n):
    for t in triangle_numbers(1000000):
        if len(list(divisors(t))) > n:
            return t


def answer():
    return first_triangle_number_with_more_than_n_divisors(500)

from math import sqrt
from euler.utils import divisors


def triangle_numbers(limit):
    n = 1
    t = 0
    while n <= limit:
        t += n
        n += 1
        yield t


def first_triangle_number_with_more_than_n_divisors(n):
    for t in triangle_numbers(1000000):
        if len(list(divisors(t))) > n:
            return t


def answer():
    return first_triangle_number_with_more_than_n_divisors(500)
