#include <iostream>
#include <vector>
using namespace std;
int main() {
int N,i,insert,count,num;
bool flag;
while (scanf("%d",&N) != EOF) {
if(N==0){ //读到0直接跳过
continue;
}
vector<int> candy;
for(i=0;i<N;i++){
scanf("%d",&insert);
candy.push_back(insert);
}
if(N == 1){ //N为1时候不需要调整,count为0,不能进循环
printf("%d %d\n",0,candy[0]);
continue;
}
flag=true;
count=0;
while(flag){
count++;
vector<int> tmp_candy; //新建一个数组保存减半后的数据,用于向右传递
for(i=0;i<N;i++){
tmp_candy.push_back(candy[i]/2);
candy[i] -= tmp_candy[i]; //原本可能为奇数,需要减,不能简单折半
}
for(i=0;i<N;i++){
candy[(i+1)%N] += tmp_candy[i];
if(candy[(i+1)%N] % 2){ //奇数,得1
candy[(i+1)%N] ++;
}
}
flag=false;
for(i=1;i<N;i++){
if(candy[i] != candy[0]){ //出现第一个不相等的就继续大循环while
flag=true;
break;
}
}
}
num = candy[0];
printf("%d %d\n",count,num);
}
return 0;
}