#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")