On the Semantics of Logic Programs with Preferences