what foods prevent cancer and heart disease