Author: Liang, Zhengyou.