Author: Tran-Thi-Chau.