Author: A. I. Molev
Author: Jose Felipe Voloch, Igor E. Shparlinski
Author: Mostapha Abdelouahab Saouli