Population Recovery in polynomial time