Messi punishes Guardiola with hat trick