add shell sort and LCM/GCD