#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=25;
const ll mod=1e9+7;
int n,ar[N+3];
ll ans=0,cnt=0;
deque<int>dq;
void sol(int i){
if(i>n){
vector<int>vec;
for(auto x:dq){
if(vec.empty()){
vec.emplace_back(x);
}
else{
int it=lower_bound(vec.begin(),vec.end(),x)-vec.begin();
if(it==vec.size())vec.emplace_back(x);
else vec[it]=x;
}
}
if(vec.size()>ans){
ans=vec.size();
cnt=1;
}
else if(vec.size()==ans){
cnt=(cnt+1)%mod;
}
return;
}
dq.push_front(ar[i]);
sol(i+1);
dq.pop_front();
dq.push_back(ar[i]);
sol(i+1);
dq.pop_back();
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>ar[i];
}
sol(1);
cout<<ans<<" "<<cnt;
return 0;
}
/*
*/