Predicates, English to Symbolic Notation

Hello, I am wanting assistance/confirmation that I am understanding how to the do the following correctly. I need to turn a statement into symbolic notation. I have:

S(x): "x is a spy novel"

M(x): "x is a mystery"

N(x): "x is a nonfiction book"

B(x,y): "x is better than y"

Statement: Some mysteries are better than all spy novels and all nonfiction books.

My attempt:∃x∀y[M(x) ^ N(y) -> B(x,y)] ^ ∃x∀z[M(x) ^ N(z) -> B(x,z)]

I realize this might be more bulky than necessary, but it makes sense to me. Did I do this correctly? Thanks!