#P1393. 模法师

模法师

时间限制:C/C++1C/C++1秒,其他语言22秒 空间限制:C/C++512MBC/C++ 512MB,其他语言1024MB1024MB

题目描述

给定一个正整数xx。 有两种询问:

1.1.求一个正整数yy,满足2yx12 \le y \le x - 1xmodyx \bmod y最小。如果有多解,求出最小的yy

2.2.求一个正整数yy,满足2yx12 \le y \le x - 1xmodyx \bmod y最大。如果有多解,求出最小的yy

输入描述:

第一行一个正整数TT,表示有TT组数据。

接下来TT行,每行两个整数xxkk。如果k=0k=0,表示回答第一种询问;如果k=1k=1,表示回答第二种询问。

输出描述:

对于每组数据,输出一行一个整数,表示答案。

示例11

输入

2
4 0
5 1

输出

2
3

备注:

对于前30%的数据,x105x \le 10^5

对于另外20%的数据,k=0k = 0

对于另外20%的数据,k=1k = 1

对于所有数据,1T1001 \le T \le 1003x1093 \le x \le 10^90k10 \le k \le 1