#include <bits/stdc++.h>
long long int dif(long long int a, long long int b) {
  if (a >= b) {
    a -= b;
  }
  return a;
}
long long int power(long long int a, long long int b) {
  long long int z = 1;
  while (b) {
    if (b & 1) {
      z *= a;
      z %= 1000000007;
    }
    a *= a;
    a %= 1000000007;
    b /= 2;
  }
  return z % 1000000007;
}
using namespace std;
template <typename Arg1>
void __f(Arg1&& arg1) {
  cout << fixed << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void __f(Arg1&& arg1, Args&&... args) {
  cout << fixed << arg1 << " ";
  __f(args...);
}
template <typename Arg1>
void __g(Arg1&& arg1) {
  cin >> arg1;
}
template <typename Arg1, typename... Args>
void __g(Arg1&& arg1, Args&&... args) {
  cin >> arg1;
  __g(args...);
}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n;
  __g(n);
  long long int sum = 0, x, mx = -1;
  for (long long int i = 0; i < n; ++i) {
    __g(x);
    mx = max(mx, x);
    sum += x;
  }
  cout << fixed << max(mx, (long long int)ceil((sum * 1.0) / (n - 1) * 1.0))
       << "\n";
  ;
  return 0;
}
