#353. [R56F]不是计数题

[R56F]不是计数题

时空限制

3S/256M

题目描述

定义一个正整数 nn 是好的,当且仅当存在一个正整数 xx 满足 n=x(x+1)n=x(x+1),并且称这个 xxnn 的匹配值。例如:

  • 5656 是好的,因为 56=7×(7+1)56 = 7 \times (7+1),并且 5656 的匹配值为 77
  • 1212 是好的,因为 12=3×(3+1)12 = 3 \times (3+1),并且 1212 的匹配值为 33

TT 组数据,每组数据给定一个正整数 aa,你需要找到最小的好的数使得它是 aa 的倍数,并输出它的匹配值,若无解,则输出 -1

格式

输入格式

本题包含多组测试数据。

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

对于每组数据第一行包含一个正整数 aa,表示询问的数。

输出格式

对于每组数据,若无解,则输出一行一个整数 -1,否则输出一行一个正整数表示答案。

样例

样例输入 #1

5
2
5
12
56
10

样例输出 #1

1
4
3
7
4

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 aa \le
11 2020 10610^6
22 8080 101410^{14}

对于 100%100\% 的数据,满足 1T151 \le T \le 151a10141 \le a \le 10^{14}