function powers