#include <limits>
#include <limits>
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define dl '\n'
const int INF = 1e18;
#define printvec(v) for(int i=0;i<v.size();i++){cout<<v[i]<<" ";}cout<<endl;
#define loop(i,n){} for(int i=0;i<n;i++){}
#define read(v,n) for(int i=0;i<n;i++){cin>>v[i];}
#define all(v) ((v).begin()), ((v).end())
#define rall(v) ((v).rbegin()), ((v).rend())
typedef vector<int> vi;
typedef vector<pair<int,int>> vip;
#define ll long long
void Antoine_Sobhy(){
ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#ifndef ONLINE_JUDGE
// freopen("business.in", "r", stdin);
freopen("/home/antoine/Desktop/acpc/input.txt", "r", stdin);
freopen("/home/antoine/Desktop/acpc/output.txt", "w", stdout);
#endif
}
const int N=15;
int dp[N+1][1<<N];
int dp2[N+1][1<<N];
int n;
vi a(N);
int mx=0;
int ans=0;
int rec(int last,int mask){
if (__builtin_popcount(mask)==n)
{
return n*2;
}
int &ret=dp[last][mask];
if (~ret)return ret;
ret=0;
if (__builtin_popcount(mask)==0 )
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
ret=max(rec(i,mask|1ll<<i)+a[i],ret);
}
}
}
else if (__builtin_popcount(mask)==(n-1))
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
ret=max(rec(i,mask|1ll<<i)+a[i]+abs(a[i]-a[last]),ret);
}
}
}
else
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
ret=max(rec(i,mask|1ll<<i)+abs(a[i]-a[last]),ret);
}
}
}
return ret;
}
int freq(int last,int mask){
if(__builtin_popcount(mask)==n)
{
return 1;
}
int &ret=dp2[last][mask];
if (~ret)return ret;
int opt=rec(last,mask);
if (__builtin_popcount(mask)==0 )
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
if (opt==rec(i,mask|1ll<<i)+a[i] )
{
ret+=freq(i,mask|(1ll<<i));
}
}
}
}
else if (__builtin_popcount(mask)==(n-1))
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
if (opt==rec(i,mask|1ll<<i)+a[i]+abs(a[i]-a[last]) )
{
ret+=freq(i,mask|(1ll<<i));
}
}
}
}
else
{
for (int i=0;i<n;i++)
{
if ( (mask& (1ll<<i) )==0)
{
if (opt==rec(i,mask|1ll<<i)+abs(a[i]-a[last]) )
{
ret+=freq(i,mask|(1ll<<i));
}
}
}
}
return ret;
}
void solve(){
mx=0;
ans=0;
a.resize(n);
read(a,n);
memset(dp,-1,sizeof dp);
mx=rec(0,0);
memset(dp,-1,sizeof dp2);
freq(0,0);
cout<<mx<<" "<<ans<<dl;
}
int32_t main(){
Antoine_Sobhy();
int t=1;
// cin>>t;
// int tc=0;
while(true) {
cin>>n;
if (n==0)return 0;
// cout<<"Case "<<++tc<<":"<<endl;
solve();
}
return 0;
}
I2luY2x1ZGUgPGxpbWl0cz4KI2luY2x1ZGUgPGxpbWl0cz4KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgICBsb25nIGxvbmcKI2RlZmluZSBkbCAnXG4nCmNvbnN0IGludCBJTkYgPSAxZTE4OwojZGVmaW5lIHByaW50dmVjKHYpIGZvcihpbnQgaT0wO2k8di5zaXplKCk7aSsrKXtjb3V0PDx2W2ldPDwiICI7fWNvdXQ8PGVuZGw7CiNkZWZpbmUgbG9vcChpLG4pe30gZm9yKGludCBpPTA7aTxuO2krKyl7fQojZGVmaW5lIHJlYWQodixuKSAgIGZvcihpbnQgaT0wO2k8bjtpKyspe2Npbj4+dltpXTt9CiNkZWZpbmUgYWxsKHYpICAgICAgICAgICAgICAgICgodikuYmVnaW4oKSksICgodikuZW5kKCkpCiNkZWZpbmUgcmFsbCh2KSAgICAgICAgICAgICAgICAoKHYpLnJiZWdpbigpKSwgKCh2KS5yZW5kKCkpCnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPHBhaXI8aW50LGludD4+IHZpcDsKI2RlZmluZSBsbCBsb25nIGxvbmcKdm9pZCBBbnRvaW5lX1NvYmh5KCl7CiAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSksIGNpbi50aWUobnVsbHB0ciksIGNvdXQudGllKG51bGxwdHIpOwojaWZuZGVmIE9OTElORV9KVURHRQogIC8vIGZyZW9wZW4oImJ1c2luZXNzLmluIiwgInIiLCBzdGRpbik7CiAgZnJlb3BlbigiL2hvbWUvYW50b2luZS9EZXNrdG9wL2FjcGMvaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgZnJlb3BlbigiL2hvbWUvYW50b2luZS9EZXNrdG9wL2FjcGMvb3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCn0KY29uc3QgaW50IE49MTU7CmludCBkcFtOKzFdWzE8PE5dOwppbnQgZHAyW04rMV1bMTw8Tl07CmludCBuOwp2aSBhKE4pOwppbnQgbXg9MDsKaW50IGFucz0wOwppbnQgcmVjKGludCBsYXN0LGludCBtYXNrKXsKICBpZiAoX19idWlsdGluX3BvcGNvdW50KG1hc2spPT1uKQogIHsKICAgIHJldHVybiBuKjI7CiAgfQoKICBpbnQgJnJldD1kcFtsYXN0XVttYXNrXTsKICBpZiAofnJldClyZXR1cm4gcmV0OwogIHJldD0wOwogIGlmIChfX2J1aWx0aW5fcG9wY291bnQobWFzayk9PTAgKQogIHsKICAgIGZvciAoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICBpZiAoIChtYXNrJiAoMWxsPDxpKSApPT0wKQogICAgICB7CiAgICAgICAgIHJldD1tYXgocmVjKGksbWFza3wxbGw8PGkpK2FbaV0scmV0KTsKICAgICAgfQogICAgfQogIH0KICBlbHNlIGlmIChfX2J1aWx0aW5fcG9wY291bnQobWFzayk9PShuLTEpKQogIHsKICAgIGZvciAoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICBpZiAoIChtYXNrJiAoMWxsPDxpKSApPT0wKQogICAgICB7CiAgICAgICAgcmV0PW1heChyZWMoaSxtYXNrfDFsbDw8aSkrYVtpXSthYnMoYVtpXS1hW2xhc3RdKSxyZXQpOwogICAgICB9CiAgICB9CgogIH0KICBlbHNlCiAgewogICAgZm9yIChpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgIGlmICggKG1hc2smICgxbGw8PGkpICk9PTApCiAgICAgIHsKICAgICAgICByZXQ9bWF4KHJlYyhpLG1hc2t8MWxsPDxpKSthYnMoYVtpXS1hW2xhc3RdKSxyZXQpOwogICAgICB9CiAgICB9CiAgfQoKICByZXR1cm4gcmV0OwoKfQoKaW50IGZyZXEoaW50IGxhc3QsaW50IG1hc2spewogIGlmKF9fYnVpbHRpbl9wb3Bjb3VudChtYXNrKT09bikKICB7CiAgICByZXR1cm4gMTsKICB9CgogIGludCAmcmV0PWRwMltsYXN0XVttYXNrXTsKICBpZiAofnJldClyZXR1cm4gcmV0OwogIGludCBvcHQ9cmVjKGxhc3QsbWFzayk7CiAgaWYgKF9fYnVpbHRpbl9wb3Bjb3VudChtYXNrKT09MCApCiAgewogICAgZm9yIChpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgIGlmICggKG1hc2smICgxbGw8PGkpICk9PTApCiAgICAgIHsKICAgICAgICBpZiAob3B0PT1yZWMoaSxtYXNrfDFsbDw8aSkrYVtpXSApCiAgICAgICAgewogICAgICAgICAgcmV0Kz1mcmVxKGksbWFza3woMWxsPDxpKSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQogIGVsc2UgaWYgKF9fYnVpbHRpbl9wb3Bjb3VudChtYXNrKT09KG4tMSkpCiAgewogICAgZm9yIChpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgIGlmICggKG1hc2smICgxbGw8PGkpICk9PTApCiAgICAgIHsKICAgICAgICBpZiAob3B0PT1yZWMoaSxtYXNrfDFsbDw8aSkrYVtpXSthYnMoYVtpXS1hW2xhc3RdKSApCiAgICAgICAgewogICAgICAgICAgcmV0Kz1mcmVxKGksbWFza3woMWxsPDxpKSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogIH0KICBlbHNlCiAgewogICAgZm9yIChpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgIGlmICggKG1hc2smICgxbGw8PGkpICk9PTApCiAgICAgIHsKICAgICAgICBpZiAob3B0PT1yZWMoaSxtYXNrfDFsbDw8aSkrYWJzKGFbaV0tYVtsYXN0XSkgKQogICAgICAgIHsKICAgICAgICAgIHJldCs9ZnJlcShpLG1hc2t8KDFsbDw8aSkpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KICByZXR1cm4gcmV0OwoKfQoKdm9pZCBzb2x2ZSgpewoKICBteD0wOwogIGFucz0wOwogIGEucmVzaXplKG4pOwogIHJlYWQoYSxuKTsKICBtZW1zZXQoZHAsLTEsc2l6ZW9mIGRwKTsKICBteD1yZWMoMCwwKTsKICBtZW1zZXQoZHAsLTEsc2l6ZW9mIGRwMik7CiAgZnJlcSgwLDApOwogIGNvdXQ8PG14PDwiICI8PGFuczw8ZGw7Cgp9CgppbnQzMl90IG1haW4oKXsKICBBbnRvaW5lX1NvYmh5KCk7CiAgaW50IHQ9MTsKICAvLyBjaW4+PnQ7CiAgLy8gaW50IHRjPTA7CiAgd2hpbGUodHJ1ZSkgewogICAgY2luPj5uOwogICAgaWYgKG49PTApcmV0dXJuIDA7CiAgICAvLyBjb3V0PDwiQ2FzZSAiPDwrK3RjPDwiOiI8PGVuZGw7CiAgICBzb2x2ZSgpOwogIH0KCiAgcmV0dXJuIDA7Cgp9