An Efficient Algorithm for the Hidden Subgroup Problem over a Class of Semi-direct Product Groups