fn p , g,