Using suffix notation to prove vector differential identities

The question is:

Using Cartesian coordinates, show that(u · ∇)u = 1/2 ∇(u · u) − u × ( ∇× u) ,

and hence that∇× ((u · ∇)u) = ( ∇· u)( ∇ × u) + (u · ∇)( ∇ × u) − (( ∇ × u) · ∇)u .

I can do the first part using suffix notation fine, but I can't see how it really helps with the 2nd part. I just seem to be going around in circles. On the LHS I get:

but I can get this without using the 1st identity. Working backwards from the RHS I'm getting a bit muddled in all the subscripts. Any ideas?