Implement pup_to_n