#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
typedef long long i64;
const int MAX = 16;
int dp[1<<MAX][MAX], a[MAX], n;
i64 np[1<<MAX][MAX];
int solve(int mask, int idx)
{
if(mask==(1<<n)-1)
{
np[mask][idx] = 1;
return a[idx];
}
int &ret = dp[mask][idx];
if(ret != -1) return ret;
ret = 0;
for(int i = 0, val; i < n; i++)
{
if(!(mask & (1 << i)))
{
val = solve(mask | (1 << i), i) + abs(a[i]-a[idx]);
if(val > ret)
{
ret = val;
np[mask][idx] = 0;
}
if(val==ret) np[mask][idx] += np[mask | (1 << i)][i];
}
}
return ret;
}
int main()
{
int i, val, maxval;
i64 cnt;
while(scanf("%d", &n)==1 && n)
{
for(i = 0; i < n; i++) scanf("%d", &a[i]);
maxval = 0;
memset(dp, -1, sizeof dp);
for(i = 0; i < n; i++)
{
val = solve(1<<i, i) + a[i];
if(val > maxval)
{
maxval = val;
cnt = 0;
}
if(val==maxval) cnt += np[1<<i][i];
}
maxval += (n << 1);
printf("%d %lld\n", maxval, cnt);
}
return 0;
}
ICAgICAKICAgICNpbmNsdWRlIDxjc3RkaW8+CiAgICAjaW5jbHVkZSA8Y3N0cmluZz4KICAgICNpbmNsdWRlIDxjc3RkbGliPgogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgICAKICAgIHR5cGVkZWYgbG9uZyBsb25nIGk2NDsKICAgIGNvbnN0IGludCBNQVggPSAxNjsKICAgICAKICAgIGludCBkcFsxPDxNQVhdW01BWF0sIGFbTUFYXSwgbjsKICAgIGk2NCBucFsxPDxNQVhdW01BWF07CiAgICAgCiAgICBpbnQgc29sdmUoaW50IG1hc2ssIGludCBpZHgpCiAgICB7CiAgICAJaWYobWFzaz09KDE8PG4pLTEpCiAgICAJewogICAgCQlucFttYXNrXVtpZHhdID0gMTsKICAgIAkJcmV0dXJuIGFbaWR4XTsKICAgIAl9CiAgICAJaW50ICZyZXQgPSBkcFttYXNrXVtpZHhdOwogICAgCWlmKHJldCAhPSAtMSkgcmV0dXJuIHJldDsKICAgIAlyZXQgPSAwOwogICAgCWZvcihpbnQgaSA9IDAsIHZhbDsgaSA8IG47IGkrKykKICAgIAl7CiAgICAJCWlmKCEobWFzayAmICgxIDw8IGkpKSkKICAgIAkJewogICAgCQkJdmFsID0gc29sdmUobWFzayB8ICgxIDw8IGkpLCBpKSArIGFicyhhW2ldLWFbaWR4XSk7CiAgICAJCQlpZih2YWwgPiByZXQpCiAgICAJCQl7CiAgICAJCQkJcmV0ID0gdmFsOwogICAgCQkJCW5wW21hc2tdW2lkeF0gPSAwOwogICAgCQkJfQogICAgCQkJaWYodmFsPT1yZXQpIG5wW21hc2tdW2lkeF0gKz0gbnBbbWFzayB8ICgxIDw8IGkpXVtpXTsKICAgIAkJfQogICAgCX0KICAgIAlyZXR1cm4gcmV0OwogICAgfQogICAgIAogICAgaW50IG1haW4oKQogICAgewogICAgCWludCBpLCB2YWwsIG1heHZhbDsKICAgIAlpNjQgY250OwogICAgCXdoaWxlKHNjYW5mKCIlZCIsICZuKT09MSAmJiBuKQogICAgCXsKICAgIAkJZm9yKGkgPSAwOyBpIDwgbjsgaSsrKSBzY2FuZigiJWQiLCAmYVtpXSk7CiAgICAJCW1heHZhbCA9IDA7CiAgICAJCW1lbXNldChkcCwgLTEsIHNpemVvZiBkcCk7CiAgICAJCWZvcihpID0gMDsgaSA8IG47IGkrKykKICAgIAkJewogICAgCQkJdmFsID0gc29sdmUoMTw8aSwgaSkgKyBhW2ldOwogICAgCQkJaWYodmFsID4gbWF4dmFsKQogICAgCQkJewogICAgCQkJCW1heHZhbCA9IHZhbDsKICAgIAkJCQljbnQgPSAwOwogICAgCQkJfQogICAgCQkJaWYodmFsPT1tYXh2YWwpIGNudCArPSBucFsxPDxpXVtpXTsKICAgIAkJfQogICAgCQltYXh2YWwgKz0gKG4gPDwgMSk7CiAgICAJCXByaW50ZigiJWQgJWxsZFxuIiwgbWF4dmFsLCBjbnQpOwogICAgCX0KICAgIAlyZXR1cm4gMDsKICAgIH0g