#include<stdio.h>int main(){ int n,s,v[500000],i,sum=0; scanf("%d",&n); for(i=n-1;i>=0;i--) { scanf("%d",&v[i]); } s=0; for(i=0;i<n;i++) { if(v[i]>s){s++;} else if(v[i]<s){s=v[i];} sum+=s; printf("%d\n",sum); } printf("%d",sum);}
/*#include <stdio.h>
#include<math.h>
int F(int n)
{
double a;
int cnt=0,temp;
for(int j=1;j<=n;j++)
{
a=log10(n);
for(int i=0;i<a;i++)
{
temp=j/pow(10,i);
if((temp%10)%3==0&&temp%10!=0)
{
cnt++;
}
}
}
return cnt;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",F(n));
}*/
/*#include<stdio.h>
int main()
{
int n,x,y,c,a,b;
scanf("%d %d",&n,&c);
a=b=n;
for(int i=0;i<c;i++)
{
scanf("%d %d",&x,&y);
if(y<a&&x<b)
{
if(a*x>=b*y){b=x;}
else{a=y;}
}
}
printf("%d",a*b);
}*/
/**Æ÷±â#include<stdio.h>
#include<math.h>
int output[2000][2000],max=0,arr[2000][2000];
int n,m;
void F(int i,int j)
{
int input,i_max=0;
if(i==0){input=0;}
else
{
for(int a=0;a<n;a++)
{
for(int b=0;b<m;b++)
{
if(abs(i-a)<=j-b&&b<j)
{
if(output[a][b]>i_max){i_max=output[a][b];}
}
}
}
input=i_max;
}
if(input>max){max=input;}
output[i][j]=input+arr[i][j];
}
int main()
{
scanf("%d %d",&m,&n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%1d",arr[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
F(j,i);
}
}
printf("%d",max);
}*/
#include<stdio.h>
int main()
{
int n,s,v[500000],i,sum=0;
scanf("%d",&n);
for(i=n-1;i>=0;i--)
{
scanf("%d",&v[i]);
}
s=0;
for(i=0;i<n;i++)
{
if(v[i]>s){s++;}
else if(v[i]<s){s=v[i];}
sum+=s;
printf("%d\n",sum);
}
printf("%d",sum);
}