#include <bits/stdc++.h>
using namespace std;
int n;
const int maxn = 1000010;
long long h[maxn], a[maxn], ans[maxn];
long long now, sum;
bool solve(long long a) { return ((a + (a + n - 1)) * n / 2 >= sum); }
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &h[i]);
    sum += h[i];
  }
  now = sum - (n - 2);
  long long L = 1, R = 1e12;
  while (R - L > 1) {
    long long mid = L + R >> 1LL;
    if (solve(mid)) {
      R = mid;
    } else {
      L = mid;
    }
  }
  if (solve(L)) R = L;
  for (int i = 1; i <= n; i++) {
    ans[i] = R + i - 1;
    sum -= ans[i];
  }
  int i = n;
  while (sum < 0) {
    ans[i--]--;
    sum++;
  }
  for (int i = 1; i <= n; i++) {
    printf("%lld%c", ans[i], " \n"[i == n]);
  }
  return 0;
}
