better output to make clear what is going on
range -> xrange as range causes all my RAM to get used, python 3 will need compat