# -*- coding: utf-8 -*-
"""
Created on Thu Sep 11 10:39:30 2014

@author: Harsh Sharma

Highly divisible triangular number


Problem 12
Published on Friday, 8th March 2002, 06:00 pm; Solved by 106612

The sequence of triangle numbers is generated by adding the natural numbers.
So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. 
The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

 1: 1
 3: 1,3
 6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28

We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?

N =  12375
Answer =  76576500

"""


num = 1
from math import sqrt
def divisors(n):
    sqRoot = int(sqrt(n))
    arr = []
    for i in range(1,sqRoot+1):
        if(n%i==0):
            arr.append(i)
            arr.append(n/i)
            arr.sort()
    
    return arr


while True:
    triNum = (num*(num+1))/2
    if(len(divisors(triNum))>500):
        break
    num+=1
    
print 'N = ', num
print 'Answer = ', triNum
