v5: Boilerplate removed, original derivation chains preserved.
Pei-Yuan Ju (Sat,) studied this question.