- Extended `is_smooth(n,k)` and `is_rough(n,k)` to accept arbitary large `k`.
- Extended `is_smooth(n,k)` and `is_rough(n,k)` to accept arbitary large `k`.

Previously, `k` was restricted to be a native integer.

Now, when `k` >= 10^8, we just use the `lpf(n)` and `gpf(n)` methods, respectively.

trizen/sidef,trizen/sidef,trizen/sidef,trizen/sidef