added gcd, is_perm, sieve_list