#include <bits/stdc++.h>
using namespace std;
const int Size = 2e6 + 10;
const int N = 1e5 + 10;
const int INF = 0x3f3f3f3f;
int n;
long long arr[Size];
inline int read() {
  register int x = 0, f = 1;
  register char c;
  c = getchar();
  while (!isdigit(c)) {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (isdigit(c)) {
    x = (x << 1) + (x << 3) + (c & 15);
    c = getchar();
  }
  return x * f;
}
int main() {
  n = read();
  for (int i = 1; i <= n; i++) scanf("%lld", arr + i);
  long long sum = 0;
  for (int i = 1; i <= n; i++) sum += (arr[i] - arr[1] - i + 1);
  long long m1 = sum / (long long)n, m2 = sum % (long long)n;
  for (long long i = 1; i <= n; i++)
    if (i <= m2)
      printf("%lld ", arr[1] + i - 1 + m1 + 1);
    else
      printf("%lld ", arr[1] + i - 1 + m1);
  printf("\n");
  return 0;
}
