>>254 aiとして、素数ばかりを使ったとして、どんなに(意味のある)複雑な変形をしても、
ルートの中にa1*a2*a3*...*anが入るところまで。その後は増えない。
あとは (k+√a+√b)(k+√a-√b)=(k^2+a-b+2k√a) のような手段を使って
ルートを一つ一つつぶしていけばよい。