int c1[250001]; //代表多项式的系数
int c2[250001]; //暂存
int a[55][2]; //0记录价值,1记录数量
int main()
{
int n;
while(cin >> n){
if(n<0) break;
int sum=0;
for(int i=0;i<n;i++)
{
cin >> a[i][0] >> a[i][1];
sum+=a[i][0]*a[i][1];
}
for (int i=0;i<=sum;i++){
c1[i] = 0; c2[i] = 0;
}
for (int i=0;i<=a[0][1];i++){ //对第一个进行初始化
c1[i * a[0][0]] = 1;
}
for (int i=1;i<n;i++){
for (int j=0;j<=sum;j++){
for (int k=0;k<=a[i][0] * a[i][1];k+=a[i][0]){
c2[j+k] += c1[j];
}
}
for (int j=0;j<=sum;j++){
c1[j] = c2[j];
c2[j] = 0;
}
}
// 从一半开始找
int m;
if(sum%2==0) m=sum/2;
else m=sum/2+1;
for (int j=m;;j++){
if(c1[j] != 0){//如果系数不等于0,存在这种可能性,则输出
printf("%d %d\n",j,sum-j);
break;
}
}
}
return 0;
}