시험 전에 쓸 수 있는 공부 시간은 H시간으로 정해져 있다. 평점을 최대로 올리려면 이 시간을 과목마다 얼마씩 나눠 쓸지 정해야 한다. 한 과목에서 A를 받는 데 드는 시간이 아주 크고 나머지 과목은 조금만 공부해도 A가 나온다면, 그 한 과목을 C로 두고 나머지에서 A를 챙기는 쪽이 평점에 유리하다.
과목마다 학점별로 필요한 공부 시간이 주어진다. 어떤 과목에 그 학점이 요구하는 시간 이상을 쓰면 그 학점을 받는다. D에 필요한 시간조차 채우지 못하면 F를 받는다. 학점의 점수는 A가 4.0, A-가 3.7, B+가 3.3, B가 3.0, B-가 2.7, C+가 2.3, C가 2.0, C-가 1.7, D+가 1.3, D가 1.0, F가 0.0이다. 평점은 n개 과목에서 받은 점수의 평균이다.
H시간을 과목에 나눠 배정해서 얻을 수 있는 평점의 최댓값을 구하라. 한 과목에 배정한 시간은 다른 과목에 쓸 수 없고, 시간이 남아도 된다.
첫 줄에 데이터 집합의 개수 K가 주어진다. (1≤K≤100)
각 데이터 집합의 첫 줄에는 수강 과목 수 n과 공부에 쓸 수 있는 시간 H가 공백으로 구분되어 주어진다. (1≤n≤10, 0≤H≤100)
이어지는 n개 줄에는 각각 정수 10개가 주어진다. i번째 줄의 정수는 순서대로 i번 과목에서 A, A-, B+, B, B-, C+, C, C-, D+, D를 받는 데 필요한 공부 시간이다. 한 줄에 있는 정수 10개는 비증가 순서이고, 모두 0 이상 100 이하이다.
각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. x는 데이터 집합의 번호이고 1부터 시작한다. 그다음 줄에 얻을 수 있는 평점의 최댓값을 소수점 아래 둘째 자리까지 출력한다.
평점은 소수점 아래 셋째 자리에서 반올림한다. 버리는 부분이 정확히 0.005이면 큰 쪽으로 올린다. 자릿수가 모자라면 0을 채워 소수점 아래를 항상 두 자리로 쓴다.
각 데이터 집합의 출력 뒤에 빈 줄을 하나 출력한다.