Publix swings to profit in Q1