快来帮芙芙吧* II
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

芙芙重生到了一个平行宇宙的异世界,作为前世XCPC铁牌的获奖选手,她转到了一个所有人的算法水平都下降 100\% 奇妙世界,她所处的王国遭到敌国入侵,敌国国王非常喜欢学习优秀、风度翩翩的算法竞赛选手,许诺第一名可以获得一大笔赏金并解救王子,在这场紧张刺激算法竞赛中,选手芙芙面临一个压轴挑战,如果她拿下这题,则可拿下冠军宝座!
现在请你帮助芙芙吧:国王“昆图库塔卡提考特苏瓦西拉松”有一串长度为个长度为 n 的手串,每个珠子的序号是由 a 这个数组表示的,且 a= \{1,2,…,n\},还有一个幸运整数 l,国王想找到一个完美整数对 (x,y) ,满足 y − x = l,来作为这个手串的编号,经过占星师彻夜的占卜,发现帝国的完美数对只要满足:记 f_i = \min \{ |a_i−x∣,∣a_i−y∣\},使得 f_1+f_2+⋯+f_n 最小就可以了。

现在占星师需要算出数对和最小和的值来禀告国王。你(芙芙)需要输出这个最小值来帮助占星师验证。

输入描述:

第一行输入一个整数 T(1 ≤ T ≤ 2×10^5) 代表数据组数,每组测试数据描述如下:

    在一行上输入两个整数 n,l (1 ≤ n , l ≤ 2×10^6) 代表数组长度、构造限制。

输出描述:

对于每一组测试数据,在一行上输出一个整数,代表最小的 \sum f
示例1

输入

复制
3
3 1
3 1
3 5

输出

复制
1
1
2