#include<iostream>
#include<algorithm>
#define ull unsigned long long
using namespace std;
struct number{
int v=0,k=1;
}a[100001];
int main(){
int n=0;
while(cin>>a[n++].v);
for(int i=n-1;i>=0;--i){
for(int j=i+1;i<n;j++){
number mx = a[i];
if(a[j].v<a[i].v){
if( a[j].k>mx.k ) mx.k += a[j].k;
}
a[i].k += mx.k;
}
cout<<a[i].v<<' '<<a[i].k<<endl;
}
cout<<a[0].k;
return 0;
}