If anyone can help me simplify the following two boolean expressions whilst listing the laws used at each stage then that would be hugely appreciated!

The two expressions are:

([P]*Q*[X]*Y)+([P]*Q*X*[Y])+(P*[Q]*X*[Y])+(P*[Q]*X*Y)+(P*Q*[X]*Y)+(P*Q*X*Y)

and

(P*[Q]*[X]*Y)+(P*Q*[X]*Y)+(P*Q*X*[Y])

Where * is AND and [] is an inverted input.

Any help would be greatly appreciated!

Cheers,

Emile