Case 1: neighbour contributes > (M-1)/2 values.

The combined node contains > 1+((M-1)/2 - 1) + (M-1)/2 values, i.e. > M - 1. It is too big!

Split the combined node into: Left, Middle and Right.

Since there were >= M values, minus Middle, leaves >= M - 1, split in 2, leaves >= (M-1)/2.

Therefore, Left and Right have enough values to become nodes.

Replace the value we borrowed from the parent with Middle, using Left and Right as its 2 children.

Since parent's size doesn't change: we are done!