def get_the_lcm(C_K, embeddings, d, gen_list): type_2_eps = (6, ) * d epsilons = {type_2_eps: "type-2"} running_lcm = 1 for frak_q in gen_list: nm_q = ZZ(frak_q.absolute_norm()) q, a = nm_q.perfect_power() q_class_group_order = C_K(frak_q).multiplicative_order() ordinary_frob_polys = get_ordinary_weil_polys_from_values(q, a) ABCo_lcm = ABC_integers(embeddings, frak_q, epsilons, q_class_group_order, ordinary_frob_polys)[type_2_eps] running_lcm = lcm([running_lcm, ABCo_lcm, ZZ(nm_q)]) return running_lcm