For language L2, is the PDA highlighted in purple correct? 
Gianmarco, I have read your solution quickly. The general line is correct. My only doubt is about the block in the middle: are you also accepting strings with \( p = 0 \)? Please doublecheck on that.