#include <bits/stdc++.h>
#define mod 1000000007ll
#define mod2 100000009ll
#define mod3 998244353
#define pb push_back
#define fastIO ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
#define readi(x) scanf("%d",&x)
#define reads(x) scanf("%s", x)
#define readl(x) scanf("%I64d",&x)
#define PI 3.141592653589793238462643383
#define repi(i,a,b) for(int i=a;i<b;i++)
#define repd(i,a,b) for(int i=a;i>b;i--)
#define mp make_pair
#define ll long long
#define sorti(a,b) sort(a,b)
#define sortd(a,b,tp) sort(a,b,greater<tp>())
#define fi first
#define se second
using namespace std;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<long double,long double>pdd;
template<class T>
using max_pq = priority_queue<T>;
template<class T>
using min_pq = priority_queue<T,vector<T>,greater<T>>;
int oo = 0x3f3f3f3f;
int n;
ll arr[20],freqCache[16][1<<16],cache[16][1<<16];
ll dp(int prev,int mask)
{
if(mask==(1<<n)-1)
{
freqCache[prev][mask]=1;
return arr[prev];
}
if(cache[prev][mask]!=-1)
{
return cache[prev][mask];
}
ll ans=0;
for(int i=1;i<=n;i++)
{
if(!(mask&(1<<(i-1))))
{
ll val=dp(i,mask|(1<<(i-1)));
if(prev==0)
{
val+=arr[i];
}
else{
val+=abs(arr[prev]-arr[i]);
}
if(val>ans)
{
freqCache[prev][mask]=freqCache[i][mask|(1<<(i-1))];
ans=val;
}
else if(val==ans){
freqCache[prev][mask]+=freqCache[i][mask|(1<<(i-1))];
}
}
}
cache[prev][mask]=ans;
return ans;
}
class Histogram {
public:
void solve(istream& cin, ostream& cout) {
while(1)
{
cin>>n;
if(!n)
break;
memset(cache,-1, sizeof(cache));
memset(freqCache,0, sizeof(cache));
repi(i,1,n+1)
{
cin>>arr[i];
}
cout<<(dp(0,0)+(ll)2*n)<<" "<<freqCache[0][0]<<"\n";
}
}
};
int main() {
fastIO;
Histogram solver;
std::istream& in(std::cin);
std::ostream& out(std::cout);
solver.solve(in, out);
return 0;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3bGwKI2RlZmluZSBtb2QyIDEwMDAwMDAwOWxsCiNkZWZpbmUgbW9kMyA5OTgyNDQzNTMKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmYXN0SU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwojZGVmaW5lIHJlYWRpKHgpIHNjYW5mKCIlZCIsJngpCiNkZWZpbmUgcmVhZHMoeCkgIHNjYW5mKCIlcyIsIHgpCiNkZWZpbmUgcmVhZGwoeCkgc2NhbmYoIiVJNjRkIiwmeCkKI2RlZmluZSBQSSAzLjE0MTU5MjY1MzU4OTc5MzIzODQ2MjY0MzM4MwojZGVmaW5lIHJlcGkoaSxhLGIpIGZvcihpbnQgaT1hO2k8YjtpKyspCiNkZWZpbmUgcmVwZChpLGEsYikgZm9yKGludCBpPWE7aT5iO2ktLSkKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBzb3J0aShhLGIpIHNvcnQoYSxiKQojZGVmaW5lIHNvcnRkKGEsYix0cCkgc29ydChhLGIsZ3JlYXRlcjx0cD4oKSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpaTsKdHlwZWRlZiBwYWlyPGxsLGxsPiBwbGw7CnR5cGVkZWYgcGFpcjxsb25nIGRvdWJsZSxsb25nIGRvdWJsZT5wZGQ7CnRlbXBsYXRlPGNsYXNzIFQ+CnVzaW5nIG1heF9wcSA9IHByaW9yaXR5X3F1ZXVlPFQ+Owp0ZW1wbGF0ZTxjbGFzcyBUPgp1c2luZyBtaW5fcHEgPSBwcmlvcml0eV9xdWV1ZTxULHZlY3RvcjxUPixncmVhdGVyPFQ+PjsKaW50IG9vID0gMHgzZjNmM2YzZjsKCmludCBuOwpsbCBhcnJbMjBdLGZyZXFDYWNoZVsxNl1bMTw8MTZdLGNhY2hlWzE2XVsxPDwxNl07CgpsbCBkcChpbnQgcHJldixpbnQgbWFzaykKewoJaWYobWFzaz09KDE8PG4pLTEpCgl7CgkJZnJlcUNhY2hlW3ByZXZdW21hc2tdPTE7CgkJcmV0dXJuIGFycltwcmV2XTsKCX0KCglpZihjYWNoZVtwcmV2XVttYXNrXSE9LTEpCgl7CgkJcmV0dXJuIGNhY2hlW3ByZXZdW21hc2tdOwoJfQoKCWxsIGFucz0wOwoJZm9yKGludCBpPTE7aTw9bjtpKyspCgl7CgkJaWYoIShtYXNrJigxPDwoaS0xKSkpKQoJCXsKCQkJbGwgdmFsPWRwKGksbWFza3woMTw8KGktMSkpKTsKCQkJaWYocHJldj09MCkKCQkJewoJCQkJdmFsKz1hcnJbaV07CgkJCX0KCQkJZWxzZXsKCQkJCXZhbCs9YWJzKGFycltwcmV2XS1hcnJbaV0pOwoJCQl9CgkJCWlmKHZhbD5hbnMpCgkJCXsKCQkJCWZyZXFDYWNoZVtwcmV2XVttYXNrXT1mcmVxQ2FjaGVbaV1bbWFza3woMTw8KGktMSkpXTsKCQkJCWFucz12YWw7CgkJCX0KCQkJZWxzZSBpZih2YWw9PWFucyl7CgkJCQlmcmVxQ2FjaGVbcHJldl1bbWFza10rPWZyZXFDYWNoZVtpXVttYXNrfCgxPDwoaS0xKSldOwoJCQl9CgkJfQoJfQoJY2FjaGVbcHJldl1bbWFza109YW5zOwoJcmV0dXJuIGFuczsKfQoKY2xhc3MgSGlzdG9ncmFtIHsKcHVibGljOgoJdm9pZCBzb2x2ZShpc3RyZWFtJiBjaW4sIG9zdHJlYW0mIGNvdXQpIHsKCQl3aGlsZSgxKQoJCXsKCQkJY2luPj5uOwoJCQlpZighbikKCQkJCWJyZWFrOwoJCQltZW1zZXQoY2FjaGUsLTEsIHNpemVvZihjYWNoZSkpOwoJCQltZW1zZXQoZnJlcUNhY2hlLDAsIHNpemVvZihjYWNoZSkpOwoJCQlyZXBpKGksMSxuKzEpCgkJCXsKCQkJCWNpbj4+YXJyW2ldOwoJCQl9CgoJCQljb3V0PDwoZHAoMCwwKSsobGwpMipuKTw8IiAiPDxmcmVxQ2FjaGVbMF1bMF08PCJcbiI7CgkJfQoJfQp9OwoKaW50IG1haW4oKSB7CiAgICBmYXN0SU87CglIaXN0b2dyYW0gc29sdmVyOwoJc3RkOjppc3RyZWFtJiBpbihzdGQ6OmNpbik7CglzdGQ6Om9zdHJlYW0mIG91dChzdGQ6OmNvdXQpOwoJc29sdmVyLnNvbHZlKGluLCBvdXQpOwoJcmV0dXJuIDA7Cn0K