def iroot_ceil(k, n):
    """Computes ceil(n^(1/k)), that is, the k-th root of n, rounded up to the nearest integer."""
    hi = 1
    while pow(hi, k) < n:
        hi *= 2
    lo = hi // 2
    while hi - lo > 1:
        mid = (lo + hi) // 2
        midToK = pow(mid, k)
        if midToK < n:
            lo = mid
        elif n < midToK:
            hi = mid
        else:
            return mid
    if pow(lo, k) == n:
        return lo
    else:
        return hi