#include<bits/stdc++.h>
using namespace std;
 
#define ll long long
 
void solve(){
    int n,k,s=0,maxl=0,maxlNum=0;
    cin>>n>>k;
    vector<int>v(n);
    for(int i=0;i<n;i++)cin>>v[i];
    unordered_map<int,int>mp;
    for(int i=0;i<n;i++){
        s+=v[i];
        if(s==k){
            if(maxl==i+1)maxlNum++;
            else if(maxl<i+1){
                maxl=i+1;
                maxlNum=1;
            }
        }
        if(mp.count(s-k)){
            if(maxl==i-mp[s-k])maxlNum++;
            else if(maxl<i-mp[s-k]){
                maxlNum=1;
                maxl=i-mp[s-k];
            }
        }
        if(!mp.count(s))mp[s]=i;
    }
    cout<<"Length of longest subarray is "<<maxl<<" and number of longest subarray "<<maxlNum<<"\n";
}
 
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    solve();
    return 0;
}
				I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCgp2b2lkIHNvbHZlKCl7CiAgICBpbnQgbixrLHM9MCxtYXhsPTAsbWF4bE51bT0wOwogICAgY2luPj5uPj5rOwogICAgdmVjdG9yPGludD52KG4pOwogICAgZm9yKGludCBpPTA7aTxuO2krKyljaW4+PnZbaV07CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXA7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBzKz12W2ldOwogICAgICAgIGlmKHM9PWspewogICAgICAgICAgICBpZihtYXhsPT1pKzEpbWF4bE51bSsrOwogICAgICAgICAgICBlbHNlIGlmKG1heGw8aSsxKXsKICAgICAgICAgICAgICAgIG1heGw9aSsxOwogICAgICAgICAgICAgICAgbWF4bE51bT0xOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKG1wLmNvdW50KHMtaykpewogICAgICAgICAgICBpZihtYXhsPT1pLW1wW3Mta10pbWF4bE51bSsrOwogICAgICAgICAgICBlbHNlIGlmKG1heGw8aS1tcFtzLWtdKXsKICAgICAgICAgICAgICAgIG1heGxOdW09MTsKICAgICAgICAgICAgICAgIG1heGw9aS1tcFtzLWtdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCFtcC5jb3VudChzKSltcFtzXT1pOwogICAgfQogICAgY291dDw8Ikxlbmd0aCBvZiBsb25nZXN0IHN1YmFycmF5IGlzICI8PG1heGw8PCIgYW5kIG51bWJlciBvZiBsb25nZXN0IHN1YmFycmF5ICI8PG1heGxOdW08PCJcbiI7Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=