#include <bits/stdc++.h>
using namespace std;
//int tot=0;
pair<int,int> bitmask(int mask,int i,int n,int k,int *height,vector<vector<pair<int,int> > >&dp)
{
// cout<<"Entered";
if(i>=n){
// cout<<"TER";
return make_pair(height[k],1);}
// cout<<"TER1";
if(((dp[mask][k]).first)!=(-1))
{
// cout<<(dp[mask][k]).first;
return dp[mask][k];}
int maxim=0;
int count1=0,count=0;
for(int j=0;j<n;j++)
{
// tot++;
// cout<<"LOOP"<<" ";
if(!(mask&(1<<j)))
{
// cout<<j<<" ";
int temp;
count=0;
pair<int,int>abc;
abc=bitmask(mask|(1<<j),i+1,n,j,height,dp);
if(i==0)
temp=height[j]+abc.first;
else temp=abs(height[j]-height[k])+abc.first;
count=abc.second;
if(maxim<temp)
{
count1=count;
maxim=temp;
// if(maxim==0)
// cout<<"WRONG"<<" ";
}
else if(maxim==temp)
count1+=count;
}
}
dp[mask][k]=make_pair(maxim,count1);
return make_pair(maxim,count1);
}
int main() {
int n;
while(1)
{
cin>>n;
if(n==0)
break;
vector<vector<pair<int,int> > >dp(1000001,vector<pair<int,int> >(15,make_pair(-1,-1)));
// cout<<dp[0][0].first<<endl;
int height[n];
for(int i=0;i<n;i++)
cin>>height[i];
int count=0;
pair<int,int> abc1=bitmask(0,0,n,1000000,height,dp);
int temp1=abc1.first;
count=abc1.second;
cout<<2*n+temp1<<" "<<count<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vaW50IHRvdD0wOwpwYWlyPGludCxpbnQ+IGJpdG1hc2soaW50IG1hc2ssaW50IGksaW50IG4saW50IGssaW50ICpoZWlnaHQsdmVjdG9yPHZlY3RvcjxwYWlyPGludCxpbnQ+ID4gPiZkcCkKewoJLy8gY291dDw8IkVudGVyZWQiOwoJaWYoaT49bil7CgkvLyBjb3V0PDwiVEVSIjsJCglyZXR1cm4gbWFrZV9wYWlyKGhlaWdodFtrXSwxKTt9CgkvLyBjb3V0PDwiVEVSMSI7CglpZigoKGRwW21hc2tdW2tdKS5maXJzdCkhPSgtMSkpCnsKCS8vIGNvdXQ8PChkcFttYXNrXVtrXSkuZmlyc3Q7CglyZXR1cm4gZHBbbWFza11ba107fQoJaW50IG1heGltPTA7CglpbnQgY291bnQxPTAsY291bnQ9MDsKCWZvcihpbnQgaj0wO2o8bjtqKyspCgl7CgkJLy8gdG90Kys7CgkJLy8gY291dDw8IkxPT1AiPDwiICI7CgkKCQlpZighKG1hc2smKDE8PGopKSkKCQl7CgkJCS8vIGNvdXQ8PGo8PCIgIjsKCQkJaW50IHRlbXA7CgkJCWNvdW50PTA7CgkJCXBhaXI8aW50LGludD5hYmM7CgkJICAgICAgICAgICAJYWJjPWJpdG1hc2sobWFza3woMTw8aiksaSsxLG4saixoZWlnaHQsZHApOwoJCQlpZihpPT0wKQoJCQl0ZW1wPWhlaWdodFtqXSthYmMuZmlyc3Q7CgkJCWVsc2UgdGVtcD1hYnMoaGVpZ2h0W2pdLWhlaWdodFtrXSkrYWJjLmZpcnN0OwoJCQljb3VudD1hYmMuc2Vjb25kOwoJCQlpZihtYXhpbTx0ZW1wKQoJCQl7CgkJCQljb3VudDE9Y291bnQ7CgkJCQltYXhpbT10ZW1wOwoJCQkJLy8gaWYobWF4aW09PTApCgkJCQkvLyBjb3V0PDwiV1JPTkciPDwiICI7CgkJCX0KCQkJZWxzZSBpZihtYXhpbT09dGVtcCkKCQkJY291bnQxKz1jb3VudDsKCQl9Cgl9CgkKCWRwW21hc2tdW2tdPW1ha2VfcGFpcihtYXhpbSxjb3VudDEpOwoJcmV0dXJuIG1ha2VfcGFpcihtYXhpbSxjb3VudDEpOwp9CmludCBtYWluKCkgewoJaW50IG47Cgl3aGlsZSgxKQoJewoJCWNpbj4+bjsKCQlpZihuPT0wKQoJCWJyZWFrOwoJCXZlY3Rvcjx2ZWN0b3I8cGFpcjxpbnQsaW50PiA+ID5kcCgxMDAwMDAxLHZlY3RvcjxwYWlyPGludCxpbnQ+ID4oMTUsbWFrZV9wYWlyKC0xLC0xKSkpOwoJCS8vIGNvdXQ8PGRwWzBdWzBdLmZpcnN0PDxlbmRsOwoJCWludCBoZWlnaHRbbl07CgkJZm9yKGludCBpPTA7aTxuO2krKykKCQljaW4+PmhlaWdodFtpXTsKCQlpbnQgY291bnQ9MDsKCQlwYWlyPGludCxpbnQ+IGFiYzE9Yml0bWFzaygwLDAsbiwxMDAwMDAwLGhlaWdodCxkcCk7CgkJaW50IHRlbXAxPWFiYzEuZmlyc3Q7CgkJY291bnQ9YWJjMS5zZWNvbmQ7CgkJY291dDw8MipuK3RlbXAxPDwiICI8PGNvdW50PDxlbmRsOwoJfQoJcmV0dXJuIDA7Cn0=