Explaining complicated Python program