#include <bits/stdc++.h>
using namespace std;
long long int p[200005], inv[200005], hell = pow(10, 9) + 7;
long long int exp(long long int x, long long int y) {
  long long int res = 1;
  x %= hell;
  while (y) {
    if (y & 1) res = (res * x) % hell;
    y >>= 1;
    x = (x * x) % hell;
  }
  return res;
}
long long int bin(long long int n, long long int r) {
  if (n < r) return 0;
  long long int res = (p[n] * inv[n - r]) % hell;
  res = (res * inv[r]) % hell;
  return res;
}
int finde(char elem, int b, int e, string s) {
  for (int j = b; j < e; j++) {
    if ((int)s[j] == (int)elem) {
      return j;
    }
  }
  return -1;
}
long long binpow(long long a, long long b) {
  if (b == 0) return 1;
  long long res = binpow(a, b / 2);
  if (b % 2)
    return res * res * a;
  else
    return res * res;
}
bool sortpairs(const pair<int, int> &a, const pair<int, int> &b) {
  if (a.first == b.first) return a.second > b.second;
  return a.first < b.first;
}
bool isprime(long long int a) {
  for (int i = 2; i * i < a + 1; ++i) {
    if (a % i == 0) return false;
  }
  return true;
}
long long int snear(long long int arr[], long long int target,
                    long long int end) {
  int start = 0;
  int ans = -1;
  while (start <= end) {
    int mid = (start + end) / 2;
    if (arr[mid] == target) {
      ans = mid;
      break;
    }
    if (arr[mid] > target) {
      end = mid - 1;
    } else {
      ans = mid;
      start = mid + 1;
    }
  }
  return ans;
}
void solve() {
  long long int a, b = 0, c = 0, t = 0, k = -1, ans = 0, ans2 = 0, q = 0,
                   c1 = 0, c2 = 0, n = 1, m = 0, x = -133;
  cin >> a;
  std::vector<long long int> v(a);
  for (int i = 0; i < a; ++i) {
    cin >> v[i];
    if (v[i] > x) {
      x = v[i];
    }
    t += v[i];
  }
  ans = t / (a - 1) + 1 * (bool)(t % (a - 1));
  ans2 = x;
  cout << max(ans2, ans);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  clock_t z = clock();
  long long int qc = 1;
  for (long long int i = 1; i <= qc; i++) solve();
  fprintf(stderr, "Total Time: % .4Lf\n",
          (long double)(clock() - z) / CLOCKS_PER_SEC),
      fflush(stderr);
}
