add an endl, print &p instead of p