#1141 Placebo

117  1 s   128 MB  

Description

Mr. K는 정신질환을 앓고 있어서 수시로 알약을 먹는다. 하지만 이 알약은 허약한 Mr. K의 건강을 고려하여 당신이 제조해 준 위약(환자에게 심리적 안정 효과를 얻도록 제조되는 가짜 약)이다.

당신은 Mr. K 에게 약의 효과가 M (1 ≤ M ≤ 24) 시간 동안 지속된다고 둘러댔지만, Mr. K는 이를 믿고 약효가 떨어지는 순간 1초의 오차도 없이 약을 다시 먹는 생활을 줄곧 해왔다. 물론 자는 동안은 약을 먹지 않았고, 잠에서 일어나면 약효가 남아있더라도 불안한 마음에 무조건 또 한 알을 먹었다.

어느 날 Mr. K가 해외에 잠시 나갈 일이 생기는 바람에 N일 동안의 각 날의 활동시간 ai( 1 ≤ i ≤ N, 0 ≤ ai ≤ 24 ) 목록을 당신에게 가져와 필요한 약을 요청하였다. 아무리 위약이어도 너무 많이 먹는 것은 좋지 않다고 생각한 당신은 Mr. K에게 필요한 최소한의 약 만을 제조 해주려 한다. Mr. K를 위하여 이를 구하는 프로그램을 작성해보도록 하자.

활동 시간 ai 는 i번째 날, 아침 6:00에 일어나서 잠들기 전까지 활동하는 시간이다.

그러고 나서 24 - ai 시간 동안 잠을 자며, 다음 날 아침 6:00에 다시 기상한다. 예를 들어 ai 가 5인 날은, 6:00에 기상하여 11:00까지 활동을 하고 잠에 든 후, 다음날 6:00에 기상하게 된다.

ai가 0인 날에 Mr. K는 일어나지 않으며, 24일 경우 잠들지 않는 것으로 간주한다.

약효가 떨어짐과 동시에 잠에 들 때는 약을 섭취하지 않는다.

Input

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 첫 줄에는 해외에 머물게 될 날짜 수 N(1 ≤ N ≤ 100) 과 약의 효능 시간 M(1 ≤ M ≤ 24) 이 주어지며, 그 다음 줄에는 N개의 활동 시간 ai ( 1 ≤ i ≤ n, 0 ≤ ai ≤ 24 )가 입력된다.


Output

각 테스트 케이스에 대해 N일 동안 Mr. K에게 필요한 알약의 최소 개수를 출력한다.


Sample Input

Sample Output

3
3 24
10 9 8
10 1
0 0 0 0 0 0 0 0 0 0
2 3
24 24
3
0
16

Source

2010 Ajou University Programming Contest