聊天封禁

题目背景

拾柒正在观察一个直播平台的聊天系统。

乐柠兔和噜噜在聊天频道里玩得很开心,有时也会忍不住刷表情来“整活”。

不过,这个频道开启了 自动封禁系统,如果在连续发言过程中刷出的表情数量达到一定阈值,就会被立刻封禁。

题目描述

乐柠兔打算刷一个“表情三角形”。

设定一个正整数 kk,乐柠兔将依次发送若干条消息:

  • 第 1 条消息包含 1 个表情;
  • 第 2 条消息包含 2 个表情;
  • ……
  • kk 条消息包含 kk 个表情;
  • k+1k+1 条消息包含 k1k-1 个表情;
  • ……
  • 最后一条消息包含 1 个表情。

因此,一共会发送 2k12k-1 条消息

平台的自动封禁规则如下:

  • 如果在连续发送的过程中,累计发送的表情总数不少于 xx,就会立刻被封禁;
  • 如果在发送某一条消息后触发封禁,这一条消息 仍然计入发送数量
  • 假设频道中只有乐柠兔一个人在发言。

现在,拾柒想知道:

在给定 kkxx 的情况下,乐柠兔最多能发送多少条消息后被封禁?

如果一直到刷完整个表情三角形都不会被封禁,则输出发送的全部消息数量。

输入格式

第一行是一个整数,表示测试数据组数。

接下来若干行,每一行包含两个整数,分别表示三角形参数 kk 和封禁阈值 xx

输出格式

对于每一组测试数据,输出一个整数,表示在被封禁前(或完成全部刷屏前)乐柠兔发送的消息条数。

样例输入

4
4 6
4 7
1 2
1000000000 923456789987654321

样例输出

3
4
1
1608737403

样例说明

k=4k=4,刷屏顺序为: 1,2,3,4,3,2,1

  • x=6x=6,在发送完第 3 条消息后,累计表情数达到 6,因此答案为 3;
  • x=7x=7,在发送完第 4 条消息后,累计表情数达到 10,因此答案为 4。

数据范围与约定

对于 100% 的数据,保证:

  • 测试数据组数满足给定限制;
  • 1k1091 \le k \le 10^9
  • 1x10181 \le x \le 10^{18}

子任务划分

子任务编号 分值 kk 上限 xx 上限
1 20 10510^5 10910^9
2 30 10710^7 101210^{12}
3 50 10910^9 101810^{18}

相关

在下列比赛中:

「果壳杯」 ROUND 35 (Div. 4)