players who have beaten federer, nadal and djokovic