时间限制:C/C++1秒,其他语言2秒
空间限制:C/C++512MB,其他语言1024MB
题目描述
给定一个正整数x。
有两种询问:
1.求一个正整数y,满足2≤y≤x−1且xmody最小。如果有多解,求出最小的y。
2.求一个正整数y,满足2≤y≤x−1且xmody最大。如果有多解,求出最小的y。
输入描述:
第一行一个正整数T,表示有T组数据。
接下来T行,每行两个整数x和k。如果k=0,表示回答第一种询问;如果k=1,表示回答第二种询问。
输出描述:
对于每组数据,输出一行一个整数,表示答案。
示例1
输入
2
4 0
5 1
输出
2
3
备注:
对于前30%的数据,x≤105。
对于另外20%的数据,k=0。
对于另外20%的数据,k=1。
对于所有数据,1≤T≤100,3≤x≤109,0≤k≤1。