rt
#include<bits/stdc++.h>
#define PII pair<int,int>
#define fi first
#define se second
#define ls u*2
#define rs u*2+1
using namespace std;
const int N=3e5+1;
int n,a[N],b[4*N],c[4*N],f[N];
void build(int u,int l,int r){
if(l==r){
b[u]=f[l];
c[u]=l;
return;
}
int mid=(l+r)/2;
build(ls,l,mid);
build(rs,mid+1,r);
}
PII qmax(int u,int l,int r,int L,int R){
if(l==r) return {b[u],c[u]};
int mid=(l+r)/2,ans=-1e9,node;
if(L<=mid){
PII v=qmax(ls,l,mid,L,R);
if(v.fi>ans){
ans=v.fi;
node=v.se;
}
}
if(R>mid){
PII v=qmax(rs,mid+1,r,L,R);
if(v.fi>ans){
ans=v.fi;
node=v.se;
}
}
return {ans,node};
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
f[i]=a[i]-i;
}
build(1,1,n);
for(int i=1;i<=n;i++){
if(a[i]>n-i){
cout<<0<<'\n';
continue;
}
PII mx=qmax(1,1,n,max(a[i]+i,1),n);
if(a[mx.se]>=mx.se-i) cout<<1<<" "<<mx.se-i<<'\n';
else cout<<0<<'\n';
}
}