#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=