#include<bits/stdc++.h>
using namespace std;
long long n,a[5010],dp[5010],dp_2[5010],ans_2;
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
long long ans=0;
for(int i=1;i<=n;i++){
dp[i]=1;
for(int j=1;j<i;j++){
if(a[j]>a[i])dp[i]=max(dp[j]+1,dp[i]);
ans=max(dp[i],ans);
}
}cout<<ans<<" ";
for(int i=1;i<=n;i++){
if(dp[i]==1)dp_2[i]=1;
for(int j=1;j<i;j++){
if(dp[i]==dp[j]+1&&a[i]<a[j])dp_2[i]+=dp_2[j];
if(dp[i]==dp[j]&&a[i]==a[j])dp_2[i]=0;
}if(dp[i]==ans)ans_2+=dp_2[i];
}
cout<<ans_2;
return 0;
}