#include <bits/stdc++.h>
#include <stdexcept>
using namespace std;
int main() {
int N;
cin >> N;
unordered_map<long long, int> sum;
sum.insert({0, -1});
vector <pair<int, int>> dp;
vector <long long> A;
int minL = 1000010;
int count = 0;
for (int i = 0; i < N; ++i) {
long long temp;
cin >> temp;
A.push_back(temp);
pair<int, int> t;
t.first = -1;
t.second = -1;
dp.push_back(t);
}
long long ts = 0;
for(int i = 0; i < N; ++i){
ts += A[i];
if(sum.count(ts)){
int id = sum.at(ts);
dp[i].first = id + 1;
dp[id + 1].second = i;
// if(i > id + 1)
// dp[id].second = i - 1, dp[i - 1].first = id;
sum.erase(ts);
sum.insert({ts, i});
}else{
sum.insert({ts, i});
}
}
// cout<<sum.size()<<endl;
// for(int i = 0; i < N; ++i)
// cout<<dp[i].first<<" "<<dp[i].second<<endl;
int m = 10000000;
int Q = 0;
for(int k = 1; k < N; ++k){
if(dp[k - 1].first != -1 && dp[k].second != -1){
int left = dp[k - 1].first;
int right = dp[k].second;
int tl = right - left + 1;
if(tl < m)
m = tl, Q = 1;
else if(tl == m)
Q++;
}
}
if(m == 10000000)
cout<<"-1 -1";
else cout<<m<<" "<<Q;
}
// 64 位输出请用 printf("%lld")