#include <bits/stdc++.h>
using namespace std;
long long a[1010000];
inline bool read(long long &num) {
  char in;
  bool IsN = false;
  in = getchar();
  if (in == EOF) return false;
  while (in != '-' && (in < '0' || in > '9')) in = getchar();
  if (in == '-') {
    IsN = true;
    num = 0;
  } else
    num = in - '0';
  while (in = getchar(), in >= '0' && in <= '9') {
    num *= 10, num += in - '0';
  }
  if (IsN) num = -num;
  return true;
}
int main() {
  long long n;
  scanf("%lld", &n);
  long long sum = 0;
  for (long long i = 1; i <= n; i++) {
    read(a[i]);
    sum += a[i];
  }
  if (n == 1) {
    printf("%lld\n", a[1]);
    return 0;
  }
  if ((sum - (n * (n - 1) / 2)) % n == 0) {
    long long x = (sum - (n * (n - 1) / 2)) / n;
    for (long long i = 1; i < n; i++) printf("%lld ", x + i - 1);
    printf("%lld\n", x + n - 1);
    return 0;
  }
  for (long long i = 1; i <= n; i++) {
    if ((sum - (n * (n - 1) / 2) + i) % n == 0) {
      long long x = (i + sum - (n * (n - 1) / 2)) / n, nd = x + n - i - 1;
      for (long long j = 1; j < n - 1; j++) {
        printf("%lld ", x);
        if (x == nd) printf("%lld ", x);
        x++;
      }
      if (x == nd) printf("%lld ", x);
      printf("%lld\n", x);
      return 0;
    }
  }
}
