/**
Author : Kamonasish Roy (Bullet)
Time : 2025-02-25 13:03:09
**/
#include<bits/stdc++.h>
using namespace std;
const long long M=5e5,MOD=1e9+7;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t=1;
// cin>>t;
while(t--){
int n;
cin>>n;
assert(n>=1 && n<=100000);
vector<int>a(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
assert(1<=a[i] && a[i]<=n);
}
vector<int>pos(n+1,1);
vector<int>move(n+1,0);
for(int i=n;i>=1;i--){
if(a[i]+i<=n){
pos[i]+=pos[a[i]+i];
move[i]=move[a[i]+i];
}
else{
move[i]=i;
}
}
for(int i=1;i<=n;i++){
cout<<move[i]<<" "<<pos[i]<<"\n";
}
}
return 0;
}