Código del P1. Parece que funca.