서로 다른 정수들의 집합 S={a1,a2,…,an} 와 또 다른 정수 K 가 주어진다. S 에서 서로 다른 두 정수를 골라 더했을 때, 그 합이 K 에 가장 가까운 두 정수의 쌍을 생각하자. 여기서 '가장 가깝다'는 것은 두 정수의 합과 K 의 차이의 절댓값이 최소가 됨을 뜻한다.
예를 들어 10 개의 정수
S={−7,9,2,−4,12,1,5,−3,−2,0}
가 주어졌을 때, K=8 에 합이 가장 가까운 쌍은 {12,−4} 하나뿐이다 (합이 정확히 8). K=4 인 경우에는 합과 K 의 차이가 1 로 최소가 되는 쌍이 {−7,12},{9,−4},{5,−2},{5,0},{1,2} 의 다섯 가지가 있다.
서로 다른 정수들과 정수 K 가 주어질 때, 서로 다른 두 정수의 합이 K 에 가장 가까운 쌍이 몇 개인지 세는 프로그램을 작성하시오.
입력은 표준 입력으로 주어진다. 첫 번째 줄에 테스트 케이스의 개수 t 가 주어진다. 이어서 각 테스트 케이스는 두 줄로 이루어진다.
각 테스트 케이스의 첫 번째 줄에는 두 정수 n 과 K 가 공백으로 구분되어 주어진다 (2≤n≤106, −108≤K≤108). 두 번째 줄에는 서로 다른 n 개의 정수가 공백으로 구분되어 주어지며, 각 정수는 −108 이상 108 이하이다.
각 테스트 케이스마다 한 줄에 하나씩, 입력된 순서대로 결과를 출력한다. 각 줄에는 주어진 n 개의 정수 중 서로 다른 두 정수의 합이 K 에 가장 가까운 쌍의 개수를 출력한다.