#!/usr/bin/python import sys from math import sqrt from unique import unique def factorize(n): def isPrime(n): return not [x for x in xrange(2,int(sqrt(n))+1) if n%x == 0] primes = [] candidates = xrange(2,n+1) candidate = 2 while not primes and candidate in candidates: if n%candidate == 0 and isPrime(candidate): primes = primes + [candidate] + factorize(n/candidate) candidate += 1 return primes def divisors(n): divisors = 1 factors = factorize(n) candidates = unique(factors) for candidate in candidates: divisors = divisors * (factors.count(candidate)+1) return divisors def t(n): return ((n*(n+1))/2) i = 2 while divisors(t(i)) < 500: i = i + 1 print t(i)