// この問題これで十分だた!
#include <iostream>
using namespace std;

long long gcd( long long a, long long b ) { return a ? gcd(b%a,a) : b; }
long long lcm( long long a, long long b ) { return a / gcd(a,b) * b; }

int main()
{
  for(int n; cin>>n,n;)
  {
    long long R=0, M=1; // 現在の制約 (==R mod M)
    for(long long N=1,S; N<=n; ++N)
    {
      cin >> S;         // 新たなる制約 (==S mod N)
      for(long long i=0; i!=N; ++i)
        if( (M*i+R) % N == S ) // (Mi+R == Nj+S) になるiを探す
        {
          R = M*i+R;
          M = lcm(M,N);
          break;
        }
    }
    cout << R << endl;
  }
}