import java.util.*;
public class Main92 {
public static String crossRiver(int[] a, int time, int N) {
Arrays.sort(a);
if(time < a[0]) return "0 0";
if(N < 2) return "1 " + a[0];
int[] dp = new int[N];
dp[0] = a[0];
dp[1] = Math.min(a[0] * 10, a[1]);
if(time < dp[1]) return "1 " + dp[0];
for(int j = 2; j < N; j++) {
int a1 = dp[j - 1] + Math.min(a[j], a[0] * 10) + a[0];
int a2 = dp[j - 2] + Math.min(a[j], a[j - 1] * 10) + a[0] + Math.min(a[1], a[0] * 10) + a[1];
dp[j] = Math.min(a1, a2);
if(time < dp[j]) return j + " " + dp[j - 1];
}
String ans = N + " " + dp[N - 1];
return ans;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNextLine()) {
int N = Integer.parseInt(in.nextLine());
int time = Integer.parseInt(in.nextLine());
String[] str = in.nextLine().split(" ");
int[] a = new int[str.length];
for(int i = 0; i < str.length; i++) {
a[i] = Integer.parseInt(str[i]);
}
String res = crossRiver(a, time, N);
System.out.println(res);
}
}
}