#include<cstdio>
int a,b,c,d,i,j,k;
int req[20005],up[20005],down[20005],target[20005];
int main(){
scanf("%d",&a);
for (i=1;i<=a;i++) {
scanf("%d",&req[i]);
target[i]=1000000000-a+req[i];
}
up[1]=1;
down[1]=target[1]-up[1];
for (i=2;i<=a;i++){
down[i]=down[i-1]-1;
up[i]=target[i]-down[i];
if (up[i]<=up[i-1]){
c=up[i-1]-up[i]+1;
up[i]+=c;
down[i]-=c;
}
}
for (i=1;i<=a-1;i++) printf("%d ",up[i]);
printf("%d\n",up[a]);
for (i=1;i<=a-1;i++) printf("%d ",down[i]);
printf("%d\n",down[a]);
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:5:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&a);
^
./Main.cpp:7:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&req[i]);
^