幂次进近
题号:NC281956
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定 t 次询问,每次询问给出两个正整数 nk
请你找到最小的正整数 m ,使得 n-m^k绝对值最小。

输入描述:

第一行有一个整数 t\ (\ 1 \leq t \leq 10^5\ )
随后 t 行,每行两个整数 n,k\ (\ 1 \leq n,k \leq 10^{18}\ )

输出描述:

输出 t 行,每行一个正整数 m
示例1

输入

复制
3
6 2
1 1
78 3

输出

复制
2
1
4
示例2

输入

复制
3
114 514
1000000000 2
1000000000000000000 3

输出

复制
1
31623
1000000

备注:

如果你使用 python 编写代码,请提交到 pypy3