#include <bits/stdc++.h>
using namespace std;
template <class T>
typename T::value_type arr_sum(const T& v, int n) {
  typename T::value_type sum = 0;
  for (int i = 0; i < n; ++i) sum += v[i];
  return sum;
}
struct Sync_stdio {
  Sync_stdio() { ios_base::sync_with_stdio(false); }
} _sync_stdio;
vector<long long> v;
int f(long long t) {
  if (t * v.size() - arr_sum(v, v.size()) >= t) {
    return 1;
  }
  return -1;
}
long long bsearch_answer(long long l, long long r, int (*f)(long long t)) {
  while (l < r) {
    long long t = (l + r) / 2;
    if (!f(t)) {
      l = t;
      break;
    } else if (f(t) > 0) {
      r = t;
    } else {
      l = t + 1;
    }
  }
  return l;
}
int main() {
  int n;
  cin >> n;
  v.resize(n);
  for (int i = 0; i < n; ++i) cin >> v[i];
  ;
  cout << bsearch_answer(*max_element(v.begin(), v.end()), 2000000000, f)
       << endl;
  return 0;
}
