partition function p