import java.util.Arrays;
import java.io.*;
class PARTY
{
public static void main
(String args
[]) {
while(!(str=br.readLine().trim()).equals("0 0"))
{
String in
[]=str.
trim().
split(" "); //now making the store table.
int arr_v[]=new int[n+1];
int arr_w[]=new int[n+1];
arr_v[0]=arr_w[0]=0;
for(int i=1;i<=n;i++)
{
String in2
[]=br.
readLine().
trim().
split(" ");//12 3 cost fun }
//store table complete.
//now main work
int V[][]=new int[n+1][W+1];
for(int i=1;i<=n;i++)
{
for(int w=0;w<=W;w++)
{
if((arr_w[i]<w) && (arr_v[i]+V[i-1][w-arr_w[i]])>V[i-1][w])
V[i][w]=arr_v[i]+V[i-1][w-arr_w[i]];
else
V[i][w]=V[i-1][w];
}
}
/////
//finding the track
//int k=W,i=n;
//int sum=0;
//for(int y=0;y<=W;y++)
//System.out.print(" "+V[n][y]+" ");
//System.out.println();
/////topcoder support
int y=0;
for(y=W;y>=0;y--)
{
if(V[n][y]!=V[n][y-1])
break;
}
y--;
/////
pw.println(y+" "+V[n][W]);
}
pw.flush();
}
}
CgoJCQkKCQkJCWltcG9ydCBqYXZhLnV0aWwuQXJyYXlzOwoJCQkJaW1wb3J0IGphdmEuaW8uKjsKCQkJCWNsYXNzIFBBUlRZCgkJCQl7CgkJCQkJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkKCQkJCQl0aHJvd3MgSU9FeGNlcHRpb24KCQkJCQl7CgkJCQkJCUJ1ZmZlcmVkUmVhZGVyIGJyPW5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CgkJCQkJCVByaW50V3JpdGVyIHB3PW5ldyBQcmludFdyaXRlcihTeXN0ZW0ub3V0KTsKCQkJCQkJU3RyaW5nIHN0cj0iIjsKCQkJCQkJd2hpbGUoIShzdHI9YnIucmVhZExpbmUoKS50cmltKCkpLmVxdWFscygiMCAwIikpCgkJCQkJCXsKCQkJCQkJCVN0cmluZyBpbltdPXN0ci50cmltKCkuc3BsaXQoIiAiKTsKCQkJCQkJCWludCBXPUludGVnZXIucGFyc2VJbnQoaW5bMF0pOwoJCQkJCQkJaW50IG49SW50ZWdlci5wYXJzZUludChpblsxXSk7CgkJCQkJCQkvL25vdyBtYWtpbmcgdGhlIHN0b3JlIHRhYmxlLiAKCQkJCQkJCWludCBhcnJfdltdPW5ldyBpbnRbbisxXTsKCQkJCQkJCWludCBhcnJfd1tdPW5ldyBpbnRbbisxXTsKCQkJCQkJCWFycl92WzBdPWFycl93WzBdPTA7CgkJCQkJCQlmb3IoaW50IGk9MTtpPD1uO2krKykKCQkJCQkJCXsKCQkJCQkJCQlTdHJpbmcgaW4yW109YnIucmVhZExpbmUoKS50cmltKCkuc3BsaXQoIiAiKTsvLzEyIDMgY29zdCBmdW4KCQkJCQkJCQlhcnJfd1tpXT1JbnRlZ2VyLnBhcnNlSW50KGluMlswXSk7CgkJCQkJCQkJYXJyX3ZbaV09SW50ZWdlci5wYXJzZUludChpbjJbMV0pOwoJCQkJCQkJfQoJCQkJCQkJLy9zdG9yZSB0YWJsZSBjb21wbGV0ZS4KCQkJCQkJCS8vbm93IG1haW4gd29yawoJCQkJCQkJaW50IFZbXVtdPW5ldyBpbnRbbisxXVtXKzFdOwoJCQkJCQkJQXJyYXlzLmZpbGwoVlswXSwwKTsKCQkJCQkJCQoJCQkJCQkJZm9yKGludCBpPTE7aTw9bjtpKyspCgkJCQkJCQl7CgkJCQkJCQkJZm9yKGludCB3PTA7dzw9Vzt3KyspCgkJCQkJCQkJewoJCQkJCQkJCQlpZigoYXJyX3dbaV08dykgJiYgKGFycl92W2ldK1ZbaS0xXVt3LWFycl93W2ldXSk+VltpLTFdW3ddKQoJCQkJCQkJCQkJVltpXVt3XT1hcnJfdltpXStWW2ktMV1bdy1hcnJfd1tpXV07CgkJCQkJCQkJCWVsc2UKCQkJCQkJCQkJCVZbaV1bd109VltpLTFdW3ddOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJCS8vLy8vCgkJCQkJCQkvL2ZpbmRpbmcgdGhlIHRyYWNrCgkJCQkJCQkvL2ludCBrPVcsaT1uOwoJCQkJCQkJLy9pbnQgc3VtPTA7CgkJCQkJCQkvL2ZvcihpbnQgeT0wO3k8PVc7eSsrKQoJCQkJCQkJCS8vU3lzdGVtLm91dC5wcmludCgiICIrVltuXVt5XSsiICIpOwoJCQkJCQkJLy9TeXN0ZW0ub3V0LnByaW50bG4oKTsKCQkJCQkJCS8vLy8vdG9wY29kZXIgc3VwcG9ydAoJCQkJCQkJaW50IHk9MDsKCQkJCQkJCWZvcih5PVc7eT49MDt5LS0pCgkJCQkJCQl7CgkJCQkJCQkJaWYoVltuXVt5XSE9VltuXVt5LTFdKQoJCQkJCQkJCQlicmVhazsKCQkJCQkJCQkKCQkJCQkJCX0KCQkJCQkJCXktLTsKCQkJCQkJCS8vLy8vCgkJCQkJCQlwdy5wcmludGxuKHkrIiAiK1Zbbl1bV10pOwoJCQkJCQkJU3RyaW5nIGJsYW5rPWJyLnJlYWRMaW5lKCk7CgkJCQkJCX0KCQkJCQkJcHcuZmx1c2goKTsKCQkJCQl9CgkJCQl9
NTAgMTAKMTIgMwoxNSA4CjE2IDkKMTYgNgoxMCAyCjIxIDkKMTggNAoxMiA0CjE3IDgKMTggOSAKCjUwIDEwCjEzIDgKMTkgMTAKMTYgOAoxMiA5CjEwIDIKMTIgOAoxMyA1CjE1IDUKMTEgNwoxNiAyCgowIDAK
50 10
12 3
15 8
16 9
16 6
10 2
21 9
18 4
12 4
17 8
18 9
50 10
13 8
19 10
16 8
12 9
10 2
12 8
13 5
15 5
11 7
16 2
0 0