An exercise of g0v axe (http://axe.g0v.tw).