#agc057d. [agc057_d]Sum Avoidance

[agc057_d]Sum Avoidance

问题描述

给定正整数 SSKK。当满足以下两个条件时,一个正整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N) 被称为好的序列

  • 满足 1A1<A2<<ANS11\leq A_1<A_2<\cdots<A_N\leq S-1
  • 对于任意非负整数序列 (x1,x2,,xN)(x_1, x_2, \ldots, x_N),都不满足 i=1NAixi=S\sum_{i=1}^NA_ix_i = S

A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N) 是满足上述条件的、具有最大项数 NN 的字典序最小的好序列。输出该序列的第 KK 个元素 AKA_K,如果 K>NK>N 则输出 -1

我们将提供 TT 个测试用例,请解决每个测试用例。

约束条件

  • 1T10001\leq T\leq 1000
  • 3S10183\leq S\leq 10^{18}
  • 1KS11\leq K \leq S - 1

输入

输入以以下格式从标准输入给出:

TT case1\text{case}_1 \vdots caseT\text{case}_T

每个测试用例的格式如下:

SS KK

输出

输出共 TT 行。其中第 ii 行应该是第 ii 个测试用例的答案。


示例输入 1

13
3 1
3 2
7 1
7 2
7 3
7 4
10 1
10 2
10 3
10 4
10 5
2022 507
1000000000000000000 999999999999999999

示例输出 1

2
-1
2
4
6
-1
3
6
8
9
-1
1351
-1

对于 S=3,7,10S = 3, 7, 10 的情况,序列 AA 如下所示。

  • 对于 S=3S=3A=(2)A = (2)
  • 对于 S=7S=7A=(2,4,6)A = (2,4,6)
  • 对于 S=10S=10A=(3,6,8,9)A = (3,6,8,9)