폴라드 로가 뭔지는 좋은 블로그 많으니까 찾아보세요 설명하기 귀찮음

대충 좋은 시복에 수 소인수분해해주는 알고리즘임

모든 약수 구하기

가능한 모든 약수를 구하는 방법을 $\text{O}(2^N)$으로 구현하는 짓을 했었는데

$\text{O}(N^3\log N)$에 가능한 방법이 있음.

vl primes; // 폴라드 로 결과
set<i64> s; s.insert(1);
for(i64 i : primes) {
	set<i64> nxt = s;
	for(i64 j : s) nxt.insert(i * j);
	s = nxt;
}

이 문제에서 사용함.