Entering Boolean Algebra in Wolfram|Alpha?

The expression looks like this Screenshot by Lightshot

I entered:

(not B and A)(D implies not E) or (not (B or A))((C and not D) or (not C and D)) or (A and ((not E and B) xor ((not C) and D and (not B)))))

I keep getting invalid input, what did I write wrong?

What syntax are you referring to Mathematica or Wolfram|Alpha?

Your ( and ) do not quite match up.

Does (stuff)(other stuff) mean (stuff)and(other stuff) or mean something else?

I am assuming you are assuming ‘not’ has higher precedence than any other operation.

Is ‘xor’ higher or lower than ‘and’?

This is the way I understood your input:

(not B and A) and (D implies not E) or (not (B or A)) and ((C and not D) or (not C and D)) or
(A and ((not E and B) xor ((not C) and D and (not B))))

This the link for W|A:

This the way I simplified it:

BooleanConvert[
             And[! B, A] &&  Implies[D, ! \[CapitalEpsilon]] || ! Or[B, A] && (And[C, ! D] || And[! C, D]) ||
              And[A, Xor[And[! \[CapitalEpsilon], B], And[! C, D, ! B]]]
             ]

(A&&!B&&!D)||(A&&!E)||(!B&&C&&!D)||(!B&&!C&&D) <= link broken, check below

Binary decision tree form: